C语言数组初始化的三种方式
C语言数组初始化的三种方式
1、在定义时直接赋值
int arr1[3] = {0};
使用 {0} 的方式最简洁,一般在定义的时候使用。
2、for 循环初始化
int arr2[3];
for (int i = 0; i < 3; i ) {
arr2[i] = i;
}
使用 for 循环的好处是:可以将每个元素设为不同的值。
3、memset 函数
memset 函数声明为:
将 str 中当前位置后面的 n 个字节 (typedef unsigned int size_t )用 c 替换并返回 str 。
int arr3[3];memset(arr3, 0, sizeof(int) * 3);
memset 一般使用“0”初始化内存单元,通常是给数组或结构体进行初始化,或清空数组或结构体。
一般如 char、int、float、double 等类型的变量直接初始化即可,如果用 memset 的话反而显得麻烦。
三种方式的示例代码如下:
需要注意的是:memset函数按字节对内存块进行初始化,所以不能用它将 int 数组初始化为 0 和 -1 之外的其他值。
memset 赋值为 -1 或 0,最后的结果是正确的:
但使用memset赋值为-1和0以外的值,最终的结果并不是期望值。比如赋值为1,则如下图所示:
因为 memset 是对每个字节进行赋值的,已知一个 int 为4字节,那么 memset 赋值时为二进制则为:
00000001 00000001 00000001 00000001 = 16843009
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfbhjf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01