c语言中的指针
标签(空格分隔): c
前言
指针是c语言的灵魂,基本学没学好c语言就看指针了,又因为指针很难,所以学习起来都是模模糊糊的。这一篇仔细学一下它。希望能比能再搞懂一点。
直接引用和间接引用
在说啥是指针之前,先把这2个概念搞清楚。
直接引用
就是对一个变量自身的赋值和取值,自给自足,不麻烦别人。
char a;
a = 12; //直接引用赋值
printf("%d", a) //直接引用取值
如图所示:
间接引用
呢,比较作死,就是我想读取或者写入一个变量a
的值,我是通过变量b
来实现。b
里面存放的是a
的地址,通过操作b
来间接操作a
:
好,搞清楚了b
里面存放的是a
的地址了,的这一种方式,叫间接引用
,好,那开始说指针。
指针
指针定义
指针就是干着间接引用
的活儿,你申明了一个指针变量,它存放的是其他变量的首地址。
首地址
是指一个变量最开始的占用空间字节的位置地址。如果,一个字符类型char,它就占1个字节的内存,那么首地址就是它自身的地址。如果,一个字符串类型占用4个字节,那么首地址就是第1个字节的地址。
字符类型在16位编译环境下占1个字节,指针的存储: