指针数组名可以进行自增运算么?该怎么解决
指针数组名可以进行自增运算么?C/C++ codevoid writelines(char *lineptr[], int nlines){while (nlines--
指针数组名可以进行自增运算么?
C/C++ codevoid writelines(char *lineptr[], int nlines){ while (nlines-- > 0) printf("%s\n", *lineptr++);}
看到这段代码非常疑惑,lineptr作为指针数组的名字怎么可以进行自增运算呢?它不是一个常量么?求大虾解释。
[解决办法]楼主,在普通的数组定义中,数组名是一个指针常量,不能改变其大小,因此自增自减这些操作都是不合法的;
但当数组类型作为函数形参时,其数组名就相当于指针变量,可对其自增自减等操作,且数组类型的形参指定数组大小和不指定是一样的,因为它就像指针变量一样,传递的仅仅是一个地址而已,而不是所谓的普通数组完全复制~~
希望对你能有所帮助~~~