posts - 12, comments - 4, trackbacks - 0, articles - 36

数组和指针的比较

Posted on 2005-12-22 13:42 inwind 阅读(328) 评论(0)  编辑 收藏 引用 所属分类: C++学习
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指向的内容不能改变。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理