【发布时间】:2015-08-12 11:13:21
【问题描述】:
为什么我不能定义 一个数组
char **pp={ "123", "456", "789" };
但我可以将其定义为 char*[] 并将其发送到将其作为 char ** 接受的函数
char *pp[]={ "123", "456", "789" };
fun(pp);
void fun(char **pointerToPointer)
{
//++(**pointerToPointer);//error
printf("%s", *pointerToPointer);
}
//output::"123"
以及为什么我不能增加
++(**pointerToPointer);
【问题讨论】:
-
我可以定义
char **pp={ "123", "456", "789" };..我们在谈论什么编译器? -
使用
++(**pointerToPointer)的目的是什么? -
@EugeneSh。 , 虽然有警告...
-
"以及为什么我不能增加
++(**pointerToPointer);" 因为您拥有的字符串是字符串文字,它们是不可变的。
标签: c arrays pointers c-strings string-literals