验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

C++的指针如何使用

阅读:365 来源:乙速云 作者:代码code

C++的指针如何使用

C++中指针储存一个地址

声明:

datatype* p;  datatype表示指针指向的数据类型。

int num=0;
int* pnum=#
//&是地址运算符,&num表示num这个变量存储的地址
//int*声明了pnum是一个指针变量

解引用符号 *:

int num=1024;
int* pnum=#
cout<<*pnum<

指针的运算:

     int num=1024;
    int* pnum=#
 
//地址后移:
    //cout<<*pnum<

改变变量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<

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<

3.this指针:访问其他数据域的参数。

Circle::Circle()
{
    double r=1;
}
 
Circle::Circle(double r)
{
    this->r=r;//调用上一个作用域的r
}
分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>