1。定义数组变量时必须指定数组元素个数,因为系统会根据元素个数在编译时一次性分配这么多内存;
而指针变量只需要指定类型,系统只为该指针变量分配4字节(32位机)内存,而不会为该变量所指内容分配内存。
2。指针变量是有存储空间的;而数组名仅仅是一个标号,没有实际存储空间,单单一个数组名就只能表示该数组的第1个元素的地址。int a[10]; 规定&a就等于&a[0]或者a .
3。例如 char str[]= "hello world"和char *p = "hello world"中,数组str是先分配给他元素个数个内存,然后将后面的字符串复制给这个空间(注意,此时应该考虑\0字符);而p的建立过程是先在静态存储区建立常字符串"hello world\0",然后将p指向这个常字符串。所以数组str中元素的内容可以通过重新赋值改变,而p指向的内容不能改变。
posted on 2005-12-18 21:40
halCode 阅读(527)
评论(0) 编辑 收藏 引用 所属分类:
算法/数据结构