指针与数组的区别

来源:互联网 发布:淘宝的竞争环境 编辑:程序博客网 时间:2024/05/29 17:04

1、数组是开辟一块连续的内存空间,数组名代表整个数组,也是数组第一个元素的地址,可以使用sizeof取得数组的真实大小。
指针只是为其本身分配一块4字节大小的内存,并把它指向某个有效的内存空间。

2、数组名相当于常量指针不能使用自加操作,只能使用下标操做,当是将数组作为参数传递给函数式,其退化为普通指针,可以进行自加自减操作。

3、字符串指针和字符串数组
字符串指针本身是分配在全局区或者栈区,但是其指向的字符串是分配在常量区,因为常量区是只读的区域,所以字符串指针不能修改字符串的内容;而字符串数组是系统为其在全局区和或者栈区开辟一块可写的内存空间,所以它可以改变数据内字符串的值。

4、字符串指针指向的字符串以’\0’作为字符串结束符,可以使用strlen来取得字符串长度,数组中不会自动添加’\0’作为数组结束标示符,所以不可以使用strlen计算数组长度。

0 0