指针是怎么回事

说到指针,绝对是C语言中当之无愧的老大哥。很多人觉得指针很神秘,是真的吗?其实不然。

C语言是一门非常适合底层开发的高级语言,原因就在于它有指针。

指针,说白了它就是内存中的某个字节的地址,就像你的家庭住址,我们只是常说成籍贯。

所以:指针==地址。

揭开了指针的面纱后,是不是觉得豁然开朗。接下来,有几个概念还需要清楚:

(1)指针变量与指针

指针变量是一类特殊的变量,专门用于存放指针。哈哈,说白了,它就是专门存放地址的变量,类似于户口本,户口本中就存你的籍贯。

指针变量声明:数据类型 *变量名(int *pointer  float *number  char *ber),与一般变量声明格式比,就是多了个*。

(2)*与&

*:取值运算符,即获取变量的内容;(注意:不同于指针变量声明时的*)

&:取址运算符,即获取变量的地址,就是指针。

下面举一个简单的例子:

int i=2000;  //声明一个变量 i,它的值为2000,假设i=10001000,即在地址为10001000的字节中存储2000

int *pointer=&i;  //声明一个指针变量pointer,并把 i表示的地址赋值给它,即pointer也指向10001000,即pointer的存储内容为2000,

printf("%d\n",*pointer); //输出pointer的值,即2000

printf("%d\n",&pointer) ; //输出pointer的地址,即10001000

猜你喜欢

转载自www.cnblogs.com/lyjbk/p/11345354.html