指针的真正领悟? 知识补全

#include <stdio.h>
void Test(int *const a);
int main()
{
	int * i;//定义一个整型指针数据
	int b = 0;//定义一个整型数据,初始化为0。
	
	i = &b; 
	//这里给指针变量i赋值,因为是指针变量,所以他的储存类型是一个地址。
	//就像int整型一样,int型数据存放的是一个整型数据。这里用 & 号取地址符,取整型变量b的地址,赋值给这个i。
	
	*i = 1;
	// i指针变量这时候就已经指向了b的地址,正因为指向了b的地址,通过 * 号解指针操作符,可以对b进行修改
	//这里将b的值改为了1,看看实验现象
	printf(" b =  -> %#x\r\n",b);				//b =  -> 0x1  正确
	
	//看看b的地址
	printf("&b -> %#x\r\n",&b);					//&b -> 0x70dc879c
	
	//看看i的地址
	printf("&i -> %#x\r\n",&i);					//&i -> 0x70dc87a0

	//看看对i解指针后的地址
	printf("&(*i) -> %#x\r\n",&(*i));			//&(*i) -> 0x70dc879c

	//看看i指针变量的值是什么,没错,就是存放的b的地址,因为他指向了b
	printf("i -> %#x\r\n",i);					//i -> 0x70dc879c

	//看看i解指针后的值,是b的值对吧。
	printf("*i -> %#x\r\n",*i);					//*i -> 0x1
	
   	//这里就行了一个函数调用,可以思考一下实验结果,看看对不对,正在掌握没有
	Test(&i);
	
	//如果是这样呢?结果是什么
	Test(i);
	
   return 0;
}

void Test(int *const a)
{
	printf("a -> %#x",*a);            //a -> 0x70dc879c
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值