指针和数组

来源:互联网 发布:网络电视怎么放音乐 编辑:程序博客网 时间:2024/06/06 07:00


1. 指针定义

    指针存放其指向内容的地址,因此根据其定义可知,对于一个32位系统就是任何类型的指针的内存大小都是四个字节;指针必须初始化,不能成为野指针;

    int *p=NULL;   ///赋值为空;

2.对于特定内存的赋值

   假设是固定内存地址为)0x0012ff14,可以这样赋值:

    int *p=(int *)&0x0012ff14;     //将0x0012ff14强制类型转换为int指针类型,相当于地址0x0012ff14就为一个指针了;

   让我想到了一个题:int a[5]; int *p=(int *)a;   //&a表示有5个整型长度的空间内存大小


3. 数组int a[9];  &a是数组的首地址,而a是数组的首元素的首地址;a+1表示数组下一个元素的地址;&a+1表示下一个相同内存空间大小的地址块的首地址;

      可以区别:int *p=(int *)(&a+1);  与int *p=(int *)(a+1);  ////////////


    

0 0