蒋博1026 发表于 2019-6-24 16:24

C语言 指针理解

1、指针  指针全称是指针变量,其实质是C语言的一种变量。这种变量比较特殊,通常他的值会被赋值为某个变量的地址值(p = &a),然后我们可以使用 *p 这样的方式去间接访问p所指向的那个变量。2、为什么需要指针?       指针存在的目的就是间接访问。有了指针之后,我们访问变量a不必只通过a这个变量名来访问。而可以通过p = &a; *p = xxx;这样的方式来间接访问变量a。3、指针的定义和初始化  指针既然是一种变量,那么肯定可以定义,也可以初始化第一种:先定义再赋值  int *p;   //定义指针变量p  p = &a;//给p赋值第二种:定义的同时初始化       int *p = &a;      //效果等同于上边的先定义再赋值                           如果前边没有int 只有 *p = &a;这样是错误的4、int *p;      int* p;      int * p;以上三种定义方式都对。5、指针定义的两种理解方法int *p;第一种:首先看到p,这个是变量名;其次,p前边有个*,说明这个变量是一个指针变量;最后, *p前边有一个int,说明这个指针变量p所指向的是一个int型数据。第二种:首先看到p,这个是变量名;其次看到p前边的int *,把int *作为一个整体来理解,int * 是一种类型(复合类型),该类型表示一种指向int型数据的指针。5、实例int main(){  int a = 23;               int *p;                              //定义一个int型的指针变量p  p = &a;                           //将变量a的地址赋给p;  *p = 111;                        //*p 代表指针变量p所指向的那个变量,在这里也就是变量a; 也就是a =111;      printf("a = %d\n",a);       return 0;}运行结果是 a=111;

zhangmangui 发表于 2019-6-24 23:22

学习一下深入研究还是比较难得

蒋博1026 发表于 2019-6-25 09:00

zhangmangui 发表于 2019-6-24 23:22
学习一下深入研究还是比较难得

谢谢版主,以前只是感觉自己会,等再学习的时候,发现好多基础问题都不了解,细节决定成败呀

airwill 发表于 2019-6-26 21:37

这个概念讲得比较简洁明了, 值得学习一下.

蒋博1026 发表于 2019-6-27 09:16

airwill 发表于 2019-6-26 21:37
这个概念讲得比较简洁明了, 值得学习一下.

谢谢谢谢,大家一起学习,有经验一起分享,共同进步
页: [1]
查看完整版本: C语言 指针理解