C 中二维数组初始有关问题.如何初始不了?
C 中二维数组初始问题..怎么初始不了????
例如
char array[10][10];
for(int i=0;i <10;i++){ //我想把第二维全设为NULL
array[i] = NULL; //*******************************
}
//然后当要输出时, 把有数据的行输出,
for(int j=0;j <10;j++){
if(array[j] != NULL){
printf( "%s\n ",array[j]);
}
}
//为什么上面打星号的那行会出错啊..
------解决方案--------------------
char array[10]
char *p=array
for(int i=0;i <10;i++){
array[i] = NULL;
}
如果用直接就
printf( "%s\n ",p);
------解决方案--------------------
char **array = new char*[10];
for(int i = 0;i <10;++i)
{
array[i] = new char[10];
}
这样分配就可以像你那样用了
例如
char array[10][10];
for(int i=0;i <10;i++){ //我想把第二维全设为NULL
array[i] = NULL; //*******************************
}
//然后当要输出时, 把有数据的行输出,
for(int j=0;j <10;j++){
if(array[j] != NULL){
printf( "%s\n ",array[j]);
}
}
//为什么上面打星号的那行会出错啊..
------解决方案--------------------
char array[10]
char *p=array
for(int i=0;i <10;i++){
array[i] = NULL;
}
如果用直接就
printf( "%s\n ",p);
------解决方案--------------------
char **array = new char*[10];
for(int i = 0;i <10;++i)
{
array[i] = new char[10];
}
这样分配就可以像你那样用了