C语言指针的基础知识

int *p;
		1.p为变量的名字,int * 表示的是p变量存放的是int类型变量的地址。 
		2.p 表示的是以p的内容为地址的变量
		3. int *p 应该理解为:p为变量名,p变量的数据类型为 int *类型;
		   而 int * 类型就是存放int 类型变量地址的一个类型。
		   
int i = 0;
*p = i; // error, 这里没有初始化的话*p 相当于一个野指针,指向垃圾值。
		1.因此要养成个好习惯,定义了个变量就马上初始化(=0或其他值)
		2.指针变量 记得定义完就初始化(或用一变量使其指向)
				p = &i ; or  int *p = NULL;
p = &i ; 
		  //  正确的定义方法!
 		1. p保存了 i 的地址,因此 p 指向 i ;
		2.但 p 不是 i  ,i 也不是 p;因此改变 i 的值不会影响p的值,
		  改变 p 的值不会影响 i。
		3.如果一个指针变量指向了某个普通变量
		  则   *指针变量  完全等同于 普通变量  (因为普通变量没地址)
			 例:
		  		如果p是个指针变量,存放的是普通变量i的地址
		  		则 p 指向了普通变量 i 
		  		*p 就与 i 等价 可以随意互换!

		4. *p 就是以p的内容为地址的变量

1.指针就是地址,地址就指针(*&取地址符为逆运算)
2.地址就是内存单元的编号(指针只是个值,只是个内存单元的编号)
3.指针变量是存放地址的变量
4.指针和指针变量是两个不同的概念。


//备注:本文是基于郝斌老师视频讲解总结出来的笔记,方便自己看以及和他人分享
//希望能有更多小伙伴一起学习c程序,一起感受编程给我们带来的乐趣吧。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Michael 2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值