又话指针

来源:互联网 发布:新网域名管理 编辑:程序博客网 时间:2024/06/07 00:49

先来看一下例子:

#include<cstdio>int main(){    int * p;    int * q;    int a[5];//一个int类型是4个字节,一个字节是8位    //一个字节是一个地址,即一个int类型的变量是占4个地址    a[0] = 4;    a[1] = 5;    p = a;//把数组首地址传给指针变量p    q = a+1;//把数组中第二个数的地址传给指针变量q    printf("数组第一个数的地址是:%p\n",p);    printf("数组第二个数的地址是:%p",q);return 0;}

上面例子的输出是:



通过分析上面的例子,需要记住的有三点:

①一个字节是一个地址
②一个字节是8位
③一个指针变量存放的只是变量的首地址


同时需要注意的是:所有的指针变量都只占4个字节!!!


大家如果不信的话可以通过下面的程序来验证一下:

#include<cstdio>int main(){    double * p[3];    double i[3] ={4,1,0};    double ** m;//m存储的是指针变量p[0]的地址    double ** n;//n存储的是指针变量p[1]的地址    p[0] = &i[0];    p[1] = &i[1];    m = &p[0];    n = &p[1];    printf("%p\n",m);    printf("%p\n",n);return 0;}

输出结果为








原创粉丝点击