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,用*取值时,就会读取操作系统的内存,会出现权限问题
时间: 2024-10-09 02:52:45