指针和指针数组有什么区别(指针和数组是否表示同一概念)
主要表现在以下两方面的不同:
a.修改内容不同。
例如 char a[] = "hello",可以通过下标的方式对其进行修改,而对于char* p = "word",此时p指向常量字符串,所以p[0] = 'x'是不允许的。
b.所占字节数不同。
例如 char* p = "word",p为指针,sizeof(p)得到的是一个指针变量的字节数,而不是p所指向的内存容量。
char a[] = "hello world";
char* p = a;
在32位机器上,sizeof(a) = 12字节,而sizeof(p) = 4字节。
但要注意的是,当数组作为函数参数进行传递时,该数组自动退化为同类型的指针。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com