简单聊聊c语言指针本质问题

好多c语言初学者总是被指针搞得头大,觉得指针神秘莫测而又无所不能。其实指针并没有想象中的神秘。搞清楚三点,理解指针很容易。
第一,指针初始化:

int *p = address; //初始化的时候,虽然用的*p,但是初始化的是地址,指针变量顾名思义是变量,而其变化的是地址。

第二,指针就是用来做数组的:

int a[] = “lalala”;
int *p = a;
大家学指针的时候先学了这个表达方法。那么既然指针初始化就是可以用数组名表式,那么指针的本质是不是也该如此。就是用来处理一长段数据的。那么,指针的神秘面纱也应该揭开了。看作一长串数据就好。区别只是它是一长串数据的头,有它就有一组数据。
所以,
数据->联想->指针
指针->联想->数据
就好

第三,指针用来函数传值:
int main(int argc char *argv[])
因为函数嘛,顾名思义除了返回值其他变量都是临时变量,传进去值都是副本运算,可再生的值,并不是唯一的,所谓的不可复制,而地址不可复制,所以用来传值再好不过啦。

所以指针并不可怕,也没有所谓的c语言完全在于指针的灵活运用那么夸张。
学了c我只想说,java大法好!

猜你喜欢

转载自blog.csdn.net/weixin_42078778/article/details/81411265