初学理解指针

敲了一些代码作为指针的理解,附加注释

如理解有误,还望大佬指出
 

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int a = 100;
	printf("a的地址是%p\n", &a);
	int b = 10;
	printf("b的地址是%p\n", &b);
	int* pa = &a;
	//取a的地址放在指针变量pa中
	printf("指针变量pa中存放的地址是%p,也就是a的地址\n", pa);
	//指针变量pa中存放是的a的地址所以跟a的地址一样
	printf("*pa=%d通过地址找到的空间就等于变量a=%d,\n",*pa,a);
	//解引用*,*pa是通过pa中的地址找到变量a,
	//所以说a=10是通过变量名a找到的数据10,而*pa是通过地址找到的数据10
	*pa = 0;
	printf("给*pa赋值0,就是通过地址给地址所在的空间赋值a=%d,*pa=%d\n", a,*pa);
	//给*pa赋值0,就是通过地址给地址所在的空间赋值。
	pa = &b;
	printf("pa中存放的是b的地址=%p\n", pa);
	//把b的地址给到指针变量pa,指针变量pa中存放的就是变量b的地址
	printf("*pa中存放的地址找到变量b的地址,改变变量b的值=%d\n", *pa);
	//通过*pa中存放的地址找到变量b的地址,改变变量b的值
	printf("%zd %zd\n", sizeof(pa), sizeof(int*));

	return 0;
	//总结
	//如果p是指针变量p,那么*p改变的是地址指向的数据
	//如果p是指针变量p,那么pa改变的值指针变量pa中存放的地址
	//不能把一个具体的数字赋给指针(类型不匹配),一个指针类型,一个int类型
	
	//总结:int *pa; 变量名叫pa,类型为int *,可存放一个int数据的地址 。

}

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值