今天小编给大家分享一下C++的指针如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
C++中指针储存一个地址
声明:
datatype* p; datatype表示指针指向的数据类型。
int num=0;
int* pnum=#
//&是地址运算符,&num表示num这个变量存储的地址
//int*声明了pnum是一个指针变量
解引用符号 *:
int num=1024;
int* pnum=#
cout<<*pnum<<endl;//结果是num的值:1024
指针的运算:
int num=1024;
int* pnum=#
//地址后移:
//cout<<*pnum<<endl;
cout<<pnum<<" ";
pnum=pnum+sizeof(int);
cout<<pnum;//输出 0x61ff08 0x61ff18
改变变量num:
int num=1024;
int* pnum=#
//变量num的改变
(*pnum)++;//此时num的值变为1025,注意:不加括号可能出错。
几种指针:
常量指针:声明之后不可更改(指向一个不变的内存位置,但该位置存储的内容可以改变)
声明常量指针时数据类型在前,并且声明和初始化必须在同一行
数组名就是常量指针。
//正确声明常量指针:
int num=1024;
int* const pnum=#
//错误声明:
const int* pnum=#//指针不是常量,但是不能通过该指针改变该数据。
num=64;//no problem,可以改变变量值
*pnum=100;//wrong
指针函数:
1.指针作为参数
void change(int* p)
{
(*p)++;
}
int main()
{
int num=1024;
int* pnum=#
change(pnum);
cout<<num;//输出1025
return 0;
}
2.指针作为返回结果
int* change(int* p)
{
p=p+1;//指针向后移动
//指针p为常量指针 p+1的结果更像是指向下一个数组元素
return p;
}
int main()
{
int list1[3]={1,2,3};
int* plist1=list1;
plist1=change(plist1);
cout<<*plist1<<endl;//输出2
return 0;
}
3.this指针:访问其他数据域的参数。
Circle::Circle()
{
double r=1;
}
Circle::Circle(double r)
{
this->r=r;//调用上一个作用域的r
}
以上就是“C++的指针如何使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。