1.内存的访问:直接访问,间接访问.

    直接访问:int a = 0;直接对a赋值.选一个内存地址,让他存20这个数.

                 a += 10;

                a变量本身就代表这个内存单元,代表那个单元格,四个字节.通过变量堆a赋值或者取值,实现对内存单元的访问.

    间接访问: 通过内存单元的编号(地址)以及数据所占字节数访问内存中的数据.用指针实现

                 (电脑内存的计算:2G内存  0~2的31次方-1字节,每个字节有8位bit由01组成);

2. 指针:就是内存地址.内存地址简称为指针.

     &a 是指a的地址.printf("%p",&a);分配的地址是由系统分配的.打印的&a是第一个字节所占的地址.

3. 指针变量: 存储内存地址的变量

            int a = 6;a是整型变量;

            如果a存的是0x7fff5fbff86c,a就是指针变量;

4. 定义指针变量

    int a = 10;

    int *p = &a;(p是变量,p存的是一个地址.)此时*仅仅起到标识作用,告诉编译器p是一个存放地址的变量.有些人这样写(int *)p = &a;

5. 使用*访问变量的内容; printf("%d",*p);p是一个地址,p前加一个*代表要把地址里面的值取出来.到底如何取?p代表首地址,取多少字节取决于定义指针时的类型.此时就是用指针间接访问了地址的内容.此时是读取此内存内容.

6. *操作符是对p里面的内容进行操作.  *p = 40;此时a = 40;

7. 指针的定义,赋值.int *p = NULL;NULL恒等于0,是内存的第一个地址.

                           int a = 5;

                            p = &a; 赋值

8. 指针的类型

    int *p = &a;整型指针p指的是a的首地址,然后连续取该型占的字节.

9. int *:整型指针占8个字节(64位操作系统),4个字节(32位操作系统).

             sizeof(p)

最新文章

  1. jQuery之ajax错误调试分析
  2. json原理和jquey循环遍历获取所有页面元素
  3. STL or 线段树 --- CSU 1555: Inversion Sequence
  4. hibernate数据库连接池
  5. luigi学习5-task详解
  6. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表
  7. android doc 本地文档加载慢的解决办法
  8. 队列--Redis+Log4Net
  9. APP被苹果App Store拒绝的79个原因【转】
  10. (原创)foef注意事项
  11. uva 1418 - WonderTeam
  12. 浅析HashMap的实现原理
  13. Linux基础实操三
  14. SpringBoot使用Jsp
  15. VUE2.0 饿了吗视频学习笔记(三):VUE2.0取消了v-link
  16. 聊聊kafka结构
  17. Java -- POI -- 入门使用以及简单介绍
  18. Android.InstallAntOnMacOSX
  19. charles重复发包工具/repeat
  20. jersey练习

热门文章

  1. 求二叉树的层次遍历(SDUT 2824)
  2. Flask-websocket实现聊天功能
  3. BZOJ 4898 Luogu P3778 [APIO2017]商旅 (分数规划、最短路)
  4. Java异常Error和Exception
  5. springMVC课程笔记(一)springMVC架构原理分析
  6. Final——PowerShell Empire
  7. start-20180323
  8. mysql 创建++删除 数据库
  9. 微PE:装机不求人,教你制作最纯净的PE安装系统
  10. 语法错误 : 缺少“;”(在“<”的前面)