指针入门必看!!!指针的详细解析

1.指针跟一般变量的区别
变量是用来存储数据的数据类型,它们实际上是一个地址,地址里存的数据就是变量储存的值。你用scanf来对一个变量(比如a)进行赋值: scanf("%d", &a); &a表示变量a的地址,这里的意思也就是输入一个数然后把这个数存在一个叫a的变量的地址里面。这里还有另外一种方法可以给a赋值。 int *b = &a; scanf("%d",b). 因为scanf的参数是("一个数", 目的地变量的地址).

而指针是一个特殊变量,也存在堆栈里面,但是它们存储的数据却是另一个变量的地址。 比如
int b = 1; int *a = &b; 这里表示定义一个变量然后它存的值是变量b的地址。那么a = (b的地址), *a =(b的地址存储的值(也就是1)) 。 而你定义指针变量时输入的指针变量类型 int * float* double* char* 取决于它指向的普通变量的数据类型。

2.二级指针
int a = 1; int * b = &a; int **c = &b;
这里定义一个指针b 用来存储a的地址, c是二级指针用来存储b的地址。 那么 c = (b的地址), *c = (b的地址存储的值,也就是b,也就是a的地址), **c =(b的地址存储的地址的值,也就是*b, 也就是a存储的值)

3.代替数组
int a[3] = {1,2,3};
int *b = a;
b = &a[0], *b = a[0], b+1 = a[1], *(b+1) = a[1],(b+2) = a[2],*(b+2) = a[2]

int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}
int *b[3];
int **c;
b = a ====> b = a[0], b = {1,2,3}
b = a; b[1] = a[0][1];

c = a; c = {{1,2,3},{4,5,6},{7,8,9}} c[1] = a[1] = {4,5,6}
c[2][2] = a[2][2]

希望可以解决你的疑惑!!!

时间: 2024-08-05 11:12:15

指针入门必看!!!指针的详细解析的相关文章

程序员收藏必看系列:深度解析MySQL优化(二)

程序员收藏必看系列:深度解析MySQL优化(一) 性能优化建议 下面会从3个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而应该是在实际的业务场景下通过测试来验证你关于执行计划以及响应时间的假设. scheme设计与数据型优化选择数据类型只要遵循小而简单的原则就好,越小的数据类型通常会更快,占用更少的磁盘.内存,处理时需要的CPU周期也更少.越简单的数据类型在计算时需要更少的CPU周期,比如,整型就比字符操作代价低,因而

Cocos2d-x 3.1.1 安装和创建项目---(入门必看)

1.安装python2.7.8,安装cocos2dx 3.1.1,并将python2.7.8安装路径加入系统环境变量中; 2.python2.7.8很简单,基本就是默认就可以了. 3.cocos2dx 3.1.1下载完之后,就解压.然后F:\cocos2d-x-3.1.1\build(我的解压之后是放在f盘的),然后在build这里可以找到cocos2d-win32.vc2012.sln,用vs2012打开它,然后生成解决方案(生成的这个过程比较慢,大概10分钟吧),然后在F:\cocos2d-

Java编程学习知识点分享 入门必看

阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软件包或"工具箱"的接口说明.API包含了工具箱中所有类或子程序及其使用说明. Applet:与可以单独运行的应用程序不同,Applet是一种在Web浏览器中运行在Web页面上的Java程序. 动画(animation):由一组静态图片快速显示展示出动态效果.每一幅静态图片叫做帧.在Java中,动画通常由 Timer 对象驱动.

网页设计入门必看的六点建议

虽然说对于已经会Html的人来说,学Html真的算不上什么有技术性的东西,因为那个实在是很简单,如果这个都搞不定,其他就不用提了.但是对于初次接触网络语言的人来说,那还是不容易搞定的一件事. 网页网站设计入门 我身边就有很多在学Html的朋友,接触Html的时间也不算短,但是如果让他独立做一个网页就不能胜任了,最多只是会修改别人的模板,简而言之,就是看得懂,但不是真懂,没入门.然后有个朋友问,那什么才算入门呢?就是自己能独立做一个网页呗. 很多时候方法对了,学习这件事情只会变得越来越容易,如果你

数据挖掘入门必看10个问题

NO.1 Data Mining 和统计分析有什么不同?硬要去区分Data Mining和Statistics的差异其实是没有太大意义的.一般将之定义为Data Mining技术的CART.CHAID或模糊计算等等理论方法,也都是由统计学者根据统计理论所发展衍生,换另一个角度看,Data Mining有相当大的比重是由高等统计学中的多变量分析所支撑.但是为什么Data Mining的出现会引发各领域的广泛注意呢?主要原因在相较于传统统计分析而言,Data Mining有下列几项特性:1.处理大量

三分钟教会你Python数据分析—数据导入,小白基础入门必看内容

前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:小白 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 今天我们来学习数据导入,需要使用到Pandas模块. 模块相当于是一个文件夹,它能够用于存放同个主题相关的Python代码段,包括定义函数.类和变量. 例如将数据处理相关的函数都存放在一个模块里,将数据分析相关的函数都存放在一个模块里,将数据可视化相关的

STM32环境搭建/学习观点/自学方法 入门必看

文章转自armfly开发板V4软件开发手册,分享学习~ 今天有幸看到armfly的开发板软件开发手册,开头的基础知识,真的很有用,还好有看到,一切都不迟,感悟很多,摘抄部分,学习分享~ 关于开发环境的搭建 (个人认为,好用的工具,顺手的开发环境,对于编程是一种好的习惯,也是一种好的享受,所以,在环境搭建方面,我还是比较在意软件的互相联合使用,工程建立的规范化等等,这样可以尽量少的在后期更换不同的环境,变软会很浪费时间,一次到位,一路顺风顺水~) 个人偏好的环境搭建: 集成开发环境(IDE):Ke

linux新手入门必看

为什么要学习Linux?为什么学Linux,每个人都有自己的理由:Linux是免费的不用花一分钱,能够节约大笔的成本:Linux是开源的,你可以根据自已的需要修改源代码:Linux是开放的,有广泛的社区,关于Linux的讨论要远远高于windows操作系统:学习Linux可以更好的掌握计算机技术:Linux是未来发展的趋势,服务器,手机,掌上电脑,平板机很多都采用Linux操作系统:Linux有非常多的发行版本,你可以根据需要做出不同的选择:Linux让你多了一个选择,而且Linux下的病毒相比

C/C++语言优秀书籍清单,新手入门必看

大多时候,一些初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶.本文总结了一个C++优秀书籍清单,希望能够为你带来一定的帮助.因为多读一些优秀的书籍,对于开发者稳固编程基础.提高编程技能有很大帮助,这些书大多数都有中文版,并且可以很容易在网上找到. 这里推荐一下我建的C/C++语言学习交流秋秋裙,前三位是:110,中间三位是:355,最后三位是:025,里面有学习不错视频教程.开发工具.电子书籍,完整的项目源码等,专业的老师解答问题! 虽然说C语言开发发展前景好,但易学难精.由于入