【发布时间】:2015-11-28 13:53:43
【问题描述】:
我想用 C 语言迭代下面的二维字符串数组;这是迭代的代码:
char list [][] ={{"dan","1"},{"sara","2"},{"loura","3"}};
for(i=0; i < 3;i++){
for(j=0; j < 2;j++){
if(strcmp(list[i][0],data)==0)
{
/*some code*/
}
}//end column
}// end row for
我收到了很多警告,例如“数组类型的元素类型不完整”。 我认为问题出在二维数组中。我尝试了其他初始化方式,例如:
char **list[][]=......
但这也没有用。
【问题讨论】:
-
你真的知道
char **list[][]是什么吗?不要只是反复试验。 -
你需要什么?你收到了哪些确切的信息,具体在哪里?定义实际上应该报告错误,而不仅仅是警告。字符串应该改变还是不变?如果非常量:您打算在数组中更改它们还是只更改整个条目?
-
好吧,这个二维数组不会改变,我用它作为数据库的观点,我需要访问它们并在特定条件下查看它们。但我从未在 c 中使用过二维数组,这就是我感到困惑的原因
-
顺便说一句,我的数组中写入的字符串不是真实的,因为它们太长了。我想访问数组,比较名字,如果找到我想打印与之关联的数字。
-
char **list[][],不是指向二维字符数组的指针,而是保存字符指针地址的二维指针数组,你不能以这种方式开始。