关于指针数组的疑问。。。
下面一段程序:#include <stdio.h>
void ok(char *p[])
{
printf("%s", *(p++));
}
int main(void)
{
char *p[] = {
"hello",
"nice",
"oooooooo"
};
ok(p++); //comment_1
//ok(p); //comment_2
return 0;
}
此时程序编译不通过,错误提示:error: lvalue required as increment operand|
但是将程序中//comment_1行注释掉,采用//comment_2行的方式进行函数调用,程序正常运行。
那么问题来了。。。
为什么在主函数中的指针数组名 p 不能进行 p++ 的操作,但是在子函数 ok()中可以进行 p++ 的操作,为嘛呀?求解释,谢谢!