📄 pointer2.c
字号:
#include <stdio.h>
int main()
{
int *p1, *p2, a, b;
a = 1; b = 20;
/*给p1,p2动态分配内存*/
if((p1 = (int *)malloc(sizeof(int))) == NULL)
{
perror(malloc);
return;
}
if((p2 = (int *)malloc(sizeof(int))) == NULL)
{
perror(malloc);
return;
};
printf("a = %d, b = %d\n",a ,b);
/*此时"*p1"、"*p2"的值还未初始化*/
printf("*p1 = %d, *p2 = %d\n", *p1, *p2);
printf("&a = 0x%x, &b = 0x%x\n",&a ,&b);
/*注意此时,a、b的地址和p1、p2的地址是不同的*/
printf("p1 = 0x%x, p2 = 0x%x\n", p1, p2);
*p1 = b;
*p2 = a;
printf("after changing *p1, a also changed correspondingly......\n");
/*此时a、b的值没有发生改变*/
printf("a = %d, b = %d\n",a ,b);
printf("*p1 = %d, *p2 = %d\n", *p1, *p2);
free(p1);
free(p2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -