【知识总结】指针

1.内存和地址

         (1)内存中的每个位置由一个独一无二的地址标识;

         (2)内存中的每个位置都包含一个值;

         (3)变量名字与内存地址相对应,由编译器为我们实现,变量给了我们更方便的方法记住地址(硬件仍然通过地址访问内存位置);

       【注】在某些要求边界对齐(boundary  alignment)的机器上,整型值存储的起始位置只能是某些特定的字节,通常是2或者4的倍数;

2.值和类型

         不能简单地通过检查一个值的位来判断它的类型,判断一个值的类型(以及它的值),必须观察程序中这个值的使用方法;

3.指针变量的内容

         (1)一个变量的值就是分配给这个变量的内存位置多存储的数值;

         (2)指针变量存储的是某块内存的地址;

4.间接访问操作符

         通过一个指针访问它所指向的地址的过程称为间接访问(indirection)或解引用指针(dereferencing   point)。这个用于执行间接访问的

操作符是单目操作符*。

5.未初始化和非法的指针

        声明一个指针并不会自动分配任何内存,在对指针执行间接访问前,指针必须进行初始化。

6.NULL指针

        【注】对一个NULL指针进行解引用是非法的,在对指针解引用之前你首先必须确保它并非NULL指针。

7.指针常量

        【问】如果想把25这个值存在100这个位置,该怎么办?

         【答】*(int    *)100 = 25;

posted @ 2011-12-02 10:32  斯涵  阅读(258)  评论(0编辑  收藏  举报