c++数组初始化

来源:互联网 发布:博客大巴 数据 编辑:程序博客网 时间:2024/04/29 05:35

int a[10];

编译器可能默认将其全部置零,所以int a[10] = {0}和int a[10] = {1}一样不靠谱,只能保证0号元素被置为0或1,而其余元素可能会被置为0,所以要用memset


另外需要注意的是,memset函数是逐字节进行填充,所以a一般为char *型。对于其它类型的a,可以填充的值有两个,0和-1。因为计算机中用二进制补码表示数字,0和二进制补码为全0,-1的二进制补码为全1。


sizeof(a) = 40