当前位置:博客首页>>编程基础 >> 阅读正文

【C++】C++指针与数组的学习小结(二)

作者: 郑晓 分类: 编程基础 发布于: 2012-10-25 23:33 浏览:7,273 评论(3)


上一篇【C++】C++指针与数组的学习小结(一)里主要介绍了一些C++指针的基础知识,讲到了指针与数组名的关系。今天复习一下指针的运算、指针与数组的表示法以及数组的静态与动态联编。

一、指针的运算,C++允许将指针和整数进行相加运算。如将指针加1的结果等于原来的地址加上指向的对象所占用的总字节总数。当然,你还可以将两个指针进行相减以获得两个指针的差,这一种运算结果是一个整数,应该是相差的字节倍数,仅当两个指针指向同一个数组(或指向超出结尾的一个位置)时,这种运算才有意义。

二、表示法,平时使用方括号数组表示法等同于对指针解除引用,arr[0]等价于*arr,arr[2]等价于*(arr+2),数组名和指针变量都是如此,所以对于指针和数组来说,既 可以使用数组方括号表示法,也可以使用指针表示法。

三、数组的联编。在使用数组声明创建数组时,数组的长度在编译时设置,这叫做静态联编,如 int arr[10] ;

在使用关键词new 来创建数组时,程序会在运行时为数组分配空间,其长度也将在程序运行时动态设置,所以这种方式也叫做动态联编。使用完这种动态联编的数组后需要使用delete[]来释放其占用的内存,实例如下:

int arrSize;

cin>>arrSize;

int * p = new int [arrSize]; //动态创建数组

…程序使用…

delete [] p; //删除数组 释放内存

 

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/c-pointers-and-arrays-learning-summary-b.html

【C++】C++指针与数组的学习小结(二):目前有3 条留言

用户评论头像 洗煤机发表于 2013年08月05日 16:12[回复]

学着东东非常的难呀

用户评论头像 蔡佳网站发表于 2012年10月28日 23:55[回复]

你平时还学C++吗?你现在的工作是做什么的?

    用户评论头像 郑晓发表于 2012年10月29日 07:22[回复]

    工作是php,这个c++只是了解一下,这么强大的语言不能不了解吧?

发表评论

change vcode