C语言入门——指针入门(一)
指针难吗?
我做了个小调查,问了身边的人这个问题,很多的回答是:
难!
难,现在还有点儿不清楚。
还行。
刚开始学感觉比较难,后面弄明白了,感觉也没那么难。
难,想了很久才明白。
关于指针我也看了几本书的相关内容,查了很多资料,那么下面就来看看指针是否真如说的那么难
提前说一下,指针没有那么难,但也不是很容易。对个人来说,刚开始学的时候是弄混了一段时间,后面理解了就好多了。
在学习指针之前,要清楚使用指针的目的是啥?
先简单了解一下
使用指针的目的:
1.简化代码
2.参数传递
3.传指针
4.传值
指针的定义为:
在计算机科学中,指针(英语:Pointer),是编程语言中的一类数据类型及其对象或变量,用来表示或存储一个存储器地址,这个地址的值直接指向(points to)存在该地址的对象的值。(参考:wiki百科)
简要来说就是 内存地址
大家经过了解变量学习,每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,指针它表示了在内存中的一个地址。
相应地,指针的出现,我们引入了指针变量,
指针变量定义:
指针变量是存放一个内存地址的变量,不同于其他类型变量,它是专门用来存放内存地址的,也称为地址变量。
定义指针变量的一般形式为:
类型说明符*变量名。
来看一下指针与指针变量区分的突破点:
**突破点:**指针变量就是地址变量,用来存放地址,指针变量的值是地址(也就是上面我们提到的指针)
关于区分,例如,可以说变量p的指针是365,但不能说p的指针变量是365。
总的来说,还是:指针是一个地址,而指针变量是存放地址的变量。
看了一圈儿理论知识,来看个实例,加深一下认识!
下面我们借助实例来做进一步了解
求整型变量a的地址(用指针的知识来求解)
#include <stdio.h> int main () { int a = 10; int *p; // 定义指针变量 p = &a; printf("变量a的地址: %p\n", p);//格式化控制输出,%p是打印地址的。 return 0; }
变量a的地址: 000000000062FE14
ps:这里指针变量存的就是a的地址
关于指针入门的内容先说到这里,希望这篇文章能够对大家学习指针有所帮助!欢迎点赞与关注!一起学习C/C++语言!
作者:code_流苏
如有错误,还请指正!