DC-7:指针(1)

指针注意事项:
1、指针这个词很形象,指针就是地址,指向这个地址的。我们常用的变量例如int a,char ch, 都只是内存的助记符,弄清楚内存存值得本质, 就可以很方便的理解指针。
2、&为取地址符,用于获取变量的地址。*称为指针运算符,用来取得某个地址上的数据。输出用%p,或者%#x。(x大小写会输出大小写两种不同形式相同的值)。
3、对于一个指针首先应该明白这个变量的类型是指针,其次再问这个指针指向什么类型的数据。基本表示为 
int  *p = a; 
p = &a;
4、假设有一个 int 类型的变量 a,pa 是指向它的指针,那么*&a和&*pa分别是什么意思呢?
 *&a可以理解为*(&a),&a表示取变量 a 的地址(等价于 pa),*(&a)表示取这个地址上的数据(等价于 *pa),绕来绕去,又回到了原点,*&a仍然等价于 a。
 &*pa可以理解为&(*pa),*pa表示取得 pa 指向的数据(等价于 a),&(*pa)表示数据的地址(等价于 &a),所以&*pa等价于 pa。
5、对于
int a = 10;
int *p =&a;
printf("%d",*p);
会画内存模型图。
6、数组名代表数组首个元素的地址。区别a,&a[0],&a.

7、数组指针是一个指针。指针数组是一个数组。

8、数组指针与数组的区别。

  1. 长度不等。

  2.数组名是一个常量(只能代表首个元素的地址),不能改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值