直接和间接访问
【摘要】 直接和间接访问
1.直接和间接访问
直接访问:直接通过变量名找到
间接访问:
int i =5;
mypoint = &i;
这个mypoint是用来存i的地址的,但是它本身在内存也有地址的,所以也是占内存的,一般在x86占4字节,在x64占8字节
这个mypoint成为指针变量,专门用来存另一个变量的地址
指针就是一个地址(地址用数字表示)
2.错误提示
void swap(int* pdest1, int* pdest2)
{
int temp; temp = *pdest1;
*pdest1 = *pdest2; //*pdest1实际就是pdest1所指向的变量,也就是a *pdest2 = temp; //*pdest2实际就是pdest2所指向的变量,也就是b
}
int main()
{
int a = 5, b = 6;
int* p1, * p2;
p1 = &a; p2 = &b;
if (a < b)
{
swap(p1, p2);
}
cout << a << b;
return 0;
}
记住有一个错误
int * p;
*p = 5
这是错的,因为p里面还没有存任何地址,也就是说他没有指向任何一个变量,那这个5往哪里存它都不知道
所以这样改就对了
int * p;
int a;
p = &a;
*p = 5;
这样p的内存里面存的就是a的地址了,*p也就是a了,也就是a=5
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)