指针的入门(赋值与移动)

   想要成为一名优秀的 C 程序员,学习指针是很有必要的。 

1.第一个测试函数

void test0()
{
	char c;
	char *pc;
	/*第一步:所有变量都保存在内存中,打印变量的存储地址*/
	printf("&c  =%p\n", &c);
	printf("&pc =%p\n", &pc);
	/*  “%p”中的p是pointer(指针)的缩写,也可理解为十六进制输出*/
	
	/*第二步所有变量都可以保存某些值,接着赋值并打印*/
	c = 'A';
	pc = &c;
	printf("c  =%c\n", c);
	printf("pc =%p\n", pc);

	/*第三步:使用指针:1)取值 */
	printf("*pc =%c\n", *pc);
	
}

运行结果:
test0的运行结果

2.第二个测试函数

void test1()
{
	int  ia;
	int  *pi;
	char *pc;

	/*第一步 : 所有变量都保存在内存中,打印变量的存储地址*/
	printf("//第一步\n");
	printf("&ia =%p\n", &ia);
	printf("&pi =%p\n", &pi);
	printf("&pc =%p\n", &pc);

	/*第二步:所有变量都可以保存某些值,接着赋值并打印*/
	printf("//第二步\n");
	ia = 0x12345678;
	//ia我们使用十六进制,方便后面对指针移动的理解
	pi = &ia;
	pc = (char *)&ia;
	printf("ia =0x%x\n", ia);
	printf("pi =%p\n", pi);
	printf("pc =%p\n", pc);

	/*第三步:使用指针:1)取值  2)移动指针*/
	printf("//第三步:使用指针:1.取值  2.移动指针\n");
	printf("*pi =0x%x\n", *pi);
	printf("pc =%p\t", pc);	printf("*pc =0x%x\n", *pc); pc = pc + 1;
	                                                   // pc++;
	printf("pc =%p\t", pc);	printf("*pc =0x%x\n", *pc); pc = pc + 1;
	printf("pc =%p\t", pc);	printf("*pc =0x%x\n", *pc); pc = pc + 1;
	printf("pc =%p\t", pc);	printf("*pc =0x%x\n", *pc);
	printf("//=================\n");
}

运行结果:
test1的运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值