8.7 C++指针运算

举报
C语言入门到精通 发表于 2021/02/09 22:38:33 2021/02/09
【摘要】 C++指针运算指针变量加或减 一个整数 p++; p--; p+i; p-i; C++规定,一个指针变量加或减一个整数是将该指针变量的原值和它指向的变量所占用的内存单元字节数相加或相减。C++指针变量赋值 将一个变量地址赋给一个指针变量。point=&array;//将变量array的地址赋给point point=array;//将数组array首元素的地址赋给point ...

C++指针运算

指针变量加或减 一个整数

p++;
p--;
p+i;
p-i;

C++规定,一个指针变量加或减一个整数是将该指针变量的原值和它指向的变量所占用的内存单元字节数相加或相减。

C++指针变量赋值

将一个变量地址赋给一个指针变量。

point=&array;//将变量array的地址赋给point
point=array;//将数组array首元素的地址赋给point
point=&array[1];//将数组array第1个元素的地址赋给point
point=min;//将自定义min函数的入口地址赋给point
point_1=point_2;//将同类型的指针变量point_2的值赋给point_1

C++指针变量可以有空值

即该指针变量不指向任 何变量,可以这样表示:

point=NULL;

实际上NULL代表整数0,也就是使point指向地址为0的单元,这样可以使指针不指向任何有效的单元。

实际上系统已先定义了NULL:

#define NULL 0

在iostream头文件中就包括了以上的NULL定义, NULL是一个符号常量。

读者应明白一点,point的值等于NULL和point未被赋值是两个不同的概念。

C++两个指针变量可以相减

如果两个指针变量指向同一个数组的元素,则两个指针变量值之差是两个指针之间的元素个数。

C++两个指针变量比较

若两个指针指向同一个数组的元素,则可以进行比较,指向前面的元素的指针变量小于指向后面元素的指针变量。

C++使用指针的优缺点

指针是C语言和C++的重要组成部分,使用指针的优点是:

  • 提高程序效率。
  • 在调用函数时,如果改变被调用函数中某 些变量的值,这些值能为主调函数使用,即可以通过函数的调用,得到多个可改变的值。
  • 可以实现 动态存储分配。

使用指针的缺点是:

  • 指针使用实在太灵活,对不熟练的程序员来说,很容易出错,而且出现的错误很难发现。
8.7 C++指针运算 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/338875920

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。