快速理解指针

快递员根据地址找到你家,然后把快递给你,你家就是个变量。

快递员根据地址找到你家,你说你找错地方了,你应该去另一家,你家就是个指针。

快递员根据地址找到你家,你说你找错地方了,你应该去另一家,快递去了另一家,他家又对快递说,你来错地方了,你应该再去另一家。你家就是指针的指针。

综上所属,变量和指针没有本质的区别(家都是一样的)。区别在于家里的你是不是个指路的。

时间: 2024-10-17 17:59:45

快速理解指针的相关文章

如何快速理解一个全新的嵌入式操作系统(续)

---基于TI CC254X OSAL的分析 当工具链配置完成后,SourceInsight向你展示一份源码工程,不借助百度和开发文档,能否在一两个小时内理解源码的组成框架和接口,进行快速开发? 上一篇<如何快速理解一个全新的嵌入式操作系统>我们已经分析了如何快速理解OSAL的任务调度和任务间通信(其实OSAL只是酷似多任务操作系统的单任务系统),再理解好OASL的消息产生和处理过程,我们就能够进行快速开发了. 一.消息的来源 嵌入式系统的消息包括两种,一是系统消息,包括低电.热插拔等,由系统

C/C++心得-理解指针

上一篇笔者用那不是怎么好理解的逻辑介绍了内存和C中的基本数据类型,现在笔者再根据自己重新所学来说说C语言中的指针. 理解指针才能真正的算C语言入门.也许是我大学期间太关注前端UE,也许是当初开始学C语言的时候没怎么认真:直到毕业后的某一天我才“懂”指针,才算理解C语言的伟大.如果早点理解它,可能我毕业时就会选择一份不一样的工作.如果有初学C语言的同行对指针有困惑,希望我这浅薄的认识能帮助你. 1.简介 指针在原英文中为pointer,个人觉得翻译过来后针的含义不如指的含义好理解,pointer还

【C语言天天练(十一)】深入理解指针

引言:在C语言中,指针的地位是不言而喻的,要想很好的掌握C语言,掌握指针是必须的,这也是C语言不同于其他语言的地方. (一)指针的指针 例子: int i; int *pi;/*把pi初始化为指向变量i,pi = &i*/ int **ppi;/*把ppi初始化为指向变量pi,ppi = &pi*/ 初始化指针后,就可以使用它们了.例如i = 'a'; *pi = 'a'; **ppi = 'a';具有相同的效果. 在一条简单的对i赋值的语句可以完成的任务情况下,为什么还要使用更为复杂的涉

理解指针

如题:理解指针 VS如何看汇编代码(DEBUG状态) Debug->Windows->DisAssambly即可看到汇编窗口 先看看C++代码 int _tmain(int argc, _TCHAR* argv[]) { /* char temp[100] = "c:\abc\bcd\cde \n"; char temp2[100] = "c:/abc/bcd/cde \n"; char temp3[100] = "c:\\abc\\bcd\\

快速理解VirtualBox的四种网络连接方式

VirtualBox中有4中网络连接方式: NAT Bridged Adapter Internal Host-only Adapter VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式. 要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方.先来一张图,通过这张图就很容易看出这4种方式的区别: (注:此图直接取至Finalbug的Blog,表示感谢) 再来用文字做详细的解释(其实归结起来就

关于理解指针数组,数组指针,数组名,二维数组的一些技巧。

/*************关于数组名***************/ int a[3] = {1, 2, 3} 1.数组名代表数组第一个元素的地址,注意,不是数组地址(虽然值相等),是数组第一个元素地址,a 等同于 &a[0]; a+1是第二个元素的地址.比第一个元素地址a(或者&a[0])超出了一个整型指针的大小,在这里是4个字节(byte) cout << a << endl;会输出数组第一个元素地址. 2.取址符号&. &a是数组的地址,注意

如何快速理解一个全新的嵌入式操作系统

---基于TI CC254X OSAL的分析 当工具链配置完成后,Source Insight向你展示一份源码工程,不借助百度和开发文档,能否在一两个小时内理解源码的组成框架和接口,进行快速开发? 在笔者过往撰写的博文中,一直在倡导两个嵌入式学习和开发理念:提高嵌入式系统架构和软件层次形成大局观:掌握从需求的角度去理解新系统和技术这个方法论.在软件大局观作为学习新系统的背景知识的基础上,从软件需求的角度入手就能快速理解和掌握一个全新的系统.本文以TI蓝牙BLE CC254x的源码库和工程为例进行

快速理解RxJava源码的设计理念

前言 我在看过几篇关于RxJava源码分析的博客后,不知是我的水平有限还是源码过于博大精深,导致花了很长的时间才搞清楚其运行原理.我个人觉得应该有更好的办法来快速剖析理解,于是决定写下本文. 本文适合已经看过一些RxJava源码分析资料的同学,不过没看过也没关系.在看本文时可参考这篇博客:RxJava基本流程和lift源码分析,它说得比较全,在此感谢博主大头鬼Bruce. 一.初探RxJava [以下摘录了RxJava基本流程和lift源码分析] 我们先来看一段最基本的代码,分析这段代码在RxJ

深入理解指针和引用的区别及引用与原值的区别

用法上的基本区别(包括sizeof和typeid)就不多说了,相信大家都了然于心,不清楚随便google一下也有一大堆. 下面从对象模型的角度去深入的谈谈指针和引用的区别,亦我们有了指针,为什么还要用引用. 1) 形式 这里所说的形式指的是运算符重载时的形式一致,事实上,在c++中,只有运算符有形式上确定的规定,因此,在重载[]运算符时,为了保持形式的一致性,就必须使用引用. 2) 临时变量 可以用const A&来引用一个临时变量(这同时证明了临时变量是有地址的,只不过该地址不能通过&取