【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 条留言
学着东东非常的难呀
你平时还学C++吗?你现在的工作是做什么的?
工作是php,这个c++只是了解一下,这么强大的语言不能不了解吧?