本文共 484 字,大约阅读时间需要 1 分钟。
指针,一直是C语言最难的话题,不通指针,不敢说自己熟悉C语言。那么就按照我个人的理解来说一下指针吧,如果还看不懂,那就没办法了,因为我的理解程度能够帮你以最清晰的角度去理解指针:
在32位操作系统下,不管是什么类型的指针,指针变量在该环境下占4个byte。
还要区分一个概念:野指针,什么是野指针?也就是没有具体的指向。
比如:
Int *p ; *p =100 ;
因为指针p没有分配相应的内存,所以给指针赋值,可能会引发段错误、
还有一种情况: int *p = NULL; *P = 100 ;这种情况一定会发生段错误,因为指向的地址编号为0,代表的是一个空指针。我们不能给空指针赋值,因为空指针没有地址,解引用必然会引发段错误。
好,那我们开始来分析一个例子。
&:取地址符
*:引用符
例如:
Int a = 1 ;
Int *p ;
P = &a ;
画幅图来看看就清楚了:
由上图可以知道: