C++ 二维数组如何初始化为0

2024-11-22 08:08:42
推荐回答(5个)
回答(1):

例如
int a[3][4];
a[0][0]='0'
这样写第一个元素初始化为0,其余也会初始化为0

还有一种就是
memset(要初始化的数组,初始化的值,要初始化的长度(字节));

回答(2):


参考程序:

#include  
using namespace std; 

int main() 

int i,j; 
int * * a=new int *[10]; 
for(i=0;i<10;i++) 
a[i]=new int[8]; 
for(i=0;i<10;i++) 

for(j=0;j<8;j++) 

*(a[i]+j)=0; 
cout<<*(a[i]+j)<<" "; 

cout<
return 0; 
}


C++ 也可以写: 
int a[10][8];
简单的就是 :memset(a,0,sizeof(a));

回答(3):

for(int l=0;l<10;l++)
{
A[l]=new int[8];
memset(A[l],0,sizeof(A[l])*8);
}
原理如楼上所述,不赘述~~

C++当然可以直接定义多维数组了,
是C#不可以直接定义多维数组。

回答(4):

#include
using namespace std;

int main()
{
int i,j;
int * * a=new int *[10];
for(i=0;i<10;i++)
a[i]=new int[8];
for(i=0;i<10;i++)
{
for(j=0;j<8;j++)
{
*(a[i]+j)=0;
cout<<*(a[i]+j)<<" ";
}
cout<}
return 0;
}
参考程序

C++ 也可以写
int a[10][8];
简单的就是 :memset(a,0,sizeof(a));

回答(5):

补充一下用memset函数要在开头加上 #include
还有new了后面要delete