c语言关于二级指针
intReadIdiomsFromFile(char*filename,char**idiomArray)在这里形参是char**型的,那么实参应该如何写?char**i...
int ReadIdiomsFromFile(char *filename, char **idiomArray)
在这里形参是char**型的,那么实参应该如何写?
char **idiomArray另外这个代表的意思是地址的地址吗?我可以用这个表示二维数组吗? 展开
在这里形参是char**型的,那么实参应该如何写?
char **idiomArray另外这个代表的意思是地址的地址吗?我可以用这个表示二维数组吗? 展开
2013-12-23
展开全部
实参看情况比如
1 .char array[10][10];
则可以将array 传入。
2 当然也可以 char **array;然后自己申请内存。
接着将array传入。
3 或者char *array;
将&array传入。
当然要看你是什么用法。
从你的函数来看你估计是要传一个二维数组首地址,也就是第一个。
1 .char array[10][10];
则可以将array 传入。
2 当然也可以 char **array;然后自己申请内存。
接着将array传入。
3 或者char *array;
将&array传入。
当然要看你是什么用法。
从你的函数来看你估计是要传一个二维数组首地址,也就是第一个。
追问
第一种我试过不行
追答
char **一般就是字符串数组的
展开全部
很多人以为“指向数组的指针”就是“指向指针的指针”,于是有人写这样的代码:int a[3][4];int **p = a;//错误这个代码的错误之处在于a是一个数组,它的成员也是数组,所以a叫做“数组的数组”——C中严格说来没有二维数组。那么,你要用一个指针来记录a,就要用一个能表示“数组的数组”的指针,以下代码是正确的:int (*p)[4] = a;//正确只有这样才能保证++p使p指向a的下一对像(该对像是一个数组)。顺便提一句:不要写成“int *p[4];”
更多追问追答
追问
能帮我具体分析一下这道题吗?就是我想实参是二维数组
追答
实参是二维数组的话,虚参需要使用这种形式char (*arr)[N],需指定它的列数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接传递一个二级指针、二维数组名、一维数组名前加取地址符等
追问
后两种我试过不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-23
展开全部
可以网上看的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询