C语言的指针学习笔记——1

指针是C语言的精髓

在这一篇中仅讨论“指针本身”,指针与数组、函数等之间的关联及使用将在下一篇中讨论。

1. 指针是什么?
指针就是指针变量,指针变量也是变量。

2.指针能干什么?
变量是用来存放数据的,所以说指针变量也是用来存放数据的。只不过指针变量中存放的数据比较特殊,存放的是内存地址。

3.为什么需要指针?
需要间接访问。对于某些内存空间,需要通过地址来进行访问,所以需要其他变量存放其内存地址。

4.指针的大小?
既然是变量,指针就占有内存空间。那么,一个指针占有多大内存空间呢?答,和平台相关,例如在32位的环境下,一个指针就占32位,即4个字节。指针中存放的是地址,地址的位数与地址线的条数相关,故指针的大小与它所指向的内存无关,只与地址线的条数相关。

5.指针的使用三部曲
定义、关联、引用。

int *p;     //定义
p = &a;     //关联
*p = 10;    //引用

6.什么是野指针?
所谓野指针,就是指向不确定的地址空间,或者虽然指向确定的地址空间,但引用空间的结果却是不可预知的,这样的指针就称作野指针。

7.NULL是什么?
在C/C++中,NULL的定义为

#ifdef _cplusplus
#define  NULL 0
#else
#define  NULL (void *)0
#endif

猜你喜欢

转载自blog.csdn.net/jiaruitao777/article/details/80689855