直接和间接访问

简介: 直接和间接访问

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

相关文章
|
6天前
|
JavaScript
如何在自调用函数内部将变量和函数暴露出来,以便外部访问?
在自调用函数中,通过绑定变量和函数到全局对象(浏览器环境的`window`或Node.js的`global`)可实现外部访问。
|
6天前
|
设计模式 缓存 安全
代理模式:解析对象间的间接访问与控制
代理模式:解析对象间的间接访问与控制
|
6天前
|
存储 Java
|
6天前
访问结构成员
【2月更文挑战第9天】访问结构成员。
18 3
|
5月前
定义和声明的区别 以及 内部和外部函数
把建立存储空间的变量声明称定义; 不需要建立存储空间的声明称为声明; c为例, 在函数中出现的对变量的声明(除了用extern声明的以外)都是定义 在函数中对其他函数的声明不是函数的定义 详细见c程序设计-谭浩强 196-197页
29 0
|
存储 算法 Java
10-对象的实例化内存布局与访问定位
10-对象的实例化内存布局与访问定位
79 0
10-对象的实例化内存布局与访问定位
|
C语言
【C 语言】指针间接赋值 ( 直接修改 和 间接修改 指针变量 的值 | 在函数中 间接修改 指针变量 的值 | 在函数中 间接修改 外部变量 的原理 )
【C 语言】指针间接赋值 ( 直接修改 和 间接修改 指针变量 的值 | 在函数中 间接修改 指针变量 的值 | 在函数中 间接修改 外部变量 的原理 )
495 0
【C 语言】指针间接赋值 ( 直接修改 和 间接修改 指针变量 的值 | 在函数中 间接修改 指针变量 的值 | 在函数中 间接修改 外部变量 的原理 )
|
C语言
【C 语言】指针间接赋值 ( 间接赋值三要素 | 间接赋值 使用的三种场景 )
【C 语言】指针间接赋值 ( 间接赋值三要素 | 间接赋值 使用的三种场景 )
142 0
|
开发框架 .NET C#
确保初始化静态成员
确保初始化静态成员
88 0