首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

指针数组名可以进行自增运算么?该怎么解决

2012-06-01 
指针数组名可以进行自增运算么?C/C++ codevoid writelines(char *lineptr[], int nlines){while (nlines--

指针数组名可以进行自增运算么?

C/C++ code
void writelines(char *lineptr[], int nlines){    while (nlines-- > 0)        printf("%s\n", *lineptr++);}


看到这段代码非常疑惑,lineptr作为指针数组的名字怎么可以进行自增运算呢?它不是一个常量么?求大虾解释。

[解决办法]
楼主,在普通的数组定义中,数组名是一个指针常量,不能改变其大小,因此自增自减这些操作都是不合法的;
但当数组类型作为函数形参时,其数组名就相当于指针变量,可对其自增自减等操作,且数组类型的形参指定数组大小和不指定是一样的,因为它就像指针变量一样,传递的仅仅是一个地址而已,而不是所谓的普通数组完全复制~~

希望对你能有所帮助~~~

热点排行