C/C++语言基础---笔记四

int *p;//(int *)修饰的是内存地址,也就是32位二进制无符号整数

//*p等价于int类型数据

//p 一个内存地址

//*根据内存地址取出内容

//&根据变量取出地址

//任何类型的指针都占4个字节

int a, b;
scanf("%d%d",&a,&b);//接收输入值
printf("%d,%d",a,b);

 

 

void change(int *p)
{
int *temp;
*temp = *p;
*p = 10;
printf("%d", *temp);
}
void main()
{
int a ;
scanf("%d",&a);
/*int *p;
p = &a;
change(p);*/
change(&a);

system("pause");//此时会提示指针temp未初始化 如果要初始化,需要指针temp指向一个值

 

指针变量使用之前必须初始化,指针就是随机值,抓去的二进制数据按照自己的规则来解析

指针初始化为NULL,可以检测指针是否指向一个对象,如果一个指针指向NULL,用*取值时,就会读取操作系统的内存,会出现权限问题

C/C++语言基础---笔记四,布布扣,bubuko.com

C/C++语言基础---笔记四

上一篇:遥感图像多类别语义分割(基于Pytorch-Unet)


下一篇:c++ primer (5)2