码迷,mamicode.com
首页 > 编程语言 > 详细

C语言 --- 初级指针

时间:2015-09-18 21:55:53      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

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)

 

C语言 --- 初级指针

标签:

原文地址:http://www.cnblogs.com/blogofgsl/p/4820338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!