二维数组全部为零怎么初始化猜c++ vc6.0环境

不要循环的,简单的shdxiang那个能更简单么?
2024-11-22 08:17:08
推荐回答(5个)
回答1:

使用memset函数

验证代码如下

#include 
#include 
int main ()
{
const int iLen = 3;
int iArray[iLen][iLen];
memset(iArray, 0, sizeof(iArray));

for (int i=0; i {
for (int j=0; j {
printf("%d\t", iArray[i][j]);
}
printf("\n");
}

return 0;
}

回答2:

xetel的例子用于声明时初始化
shdxiang的方法任何时候都能用

---------------------------------------
shdxiang那个可以更简单。
Windows编程只要使用ZeroMemory函数
不然你自己也可以写个宏:
#define ZeroShuzu(a) memset(a, 0, sizeof(a))
但是这只有对数组有用,对指针模拟的数组没用

-------------------------------------
To gaoqiang1103:
int a[][2]={0};是合法的 只是可能没有什么实际意义这相当于int a[1][2] = {0};
若int a[][2] = {0,0,0,0},则编译器认为a是int[2][2]型。编译器会自动识别

回答3:

比如写a[100]={0};
或者用个for循环全部赋值为0
或者带上string头文件用memset(a,0,sizeof(a))

回答4:

int a[LEN1][LEN2];
memset(a, 0, sizeof(int) * LEN1 * LEN2);
应该也可以吧

回答5:

long shdxiang [3][3]={0} 是可以的
int a[][2]={0}; 是不行的 int a[][3] = {{0},{0},{0}};才可以的
以上说明都是内置类型在函数内的定义