pointer1.c

来自「嵌入式Linux C应用程序设计配套光盘,含有许多嵌入式Linux C应用程序设」· C语言 代码 · 共 27 行

C
27
字号
#include <stdio.h>

int main()
{
	int *p1, *p2, a, b;
	a = 1; b = 20;
	/*将a和b的地址赋给p1和p2*/
	p1 = &a;
	p2 = &b;
	/*从打印的结果可以看出,这时a和b的地址与p1、p2相同,
	a和b的内容也与p1、p2所指向的内容相同,它们实际是同一块内存单元*/
	printf("a = %d, b = %d\n",a ,b);
	printf("*p1 = %d, *p2 = %d\n", *p1, *p2);
	printf("&a = 0x%x, &b = 0x%x\n",&a ,&b);
	printf("p1 = 0x%x, p2 = 0x%x\n", p1, p2);
	/*此时改变了p1所指向的内容*/
	*p1 = b;
	/*这时a的值已经发生了变化*/
	*p2 = a;
	printf("after changing *p1, a also changed correspondingly......\n");
	/*可以看出,a的值和p1所指向的内容改变了*/
	printf("a = %d, b = %d\n",a ,b);
	printf("*p1 = %d, *p2 = %d\n", *p1, *p2);
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?