技术问题:阐述数组与指针的区别


两者在含义上有区别

数组对应着一块内存区域,而指针指向一块内存区域。数组的容量和地址在其生命周期内不会改变,只有数组的内容可以改变。而指针指向的内存区域的大小是可以随时改变,而且当指针指向常量字符串时,它的内容是不可以修改的,否则运行时就会报错。

用运算符sizeof可以计算出数组的容量(字节数),而sizeof却无法计算指针所指内存的容量,用sizeof(p)只能得到4或者2,即指针变量所对应的内存容量。在参数传递时,数组会自动退化为同类型指针。