指针概念定义

来源:互联网 发布:知乎周刊在哪看 编辑:程序博客网 时间:2024/05/22 16:06

    //数据的直接引用,通过变量名来引用数据

    int a = 10;

    //数据的间接引用//通过指针来引用数据

    //指针就是有效的内存地址

    //指针数据类型//复合类型

    //指针是由指针的指向类型和*构成,且指向类型可以是任何 C 语言合法的数据类型

    int* p = NULL;

    int** pp = &p;

    //p是指针类型的变量,存放指针&a

    //取址运算符&

    p = &a;

    //间址运算符*

    //数据类型分析法

    //int** pp

    //int* *pp

    //int **pp

    int array[5] = {23,34,56,26,30};

    int* const pc = &a;//pc 常量指针

    //pc++;//error

    *pc = 30;//串改int a空间的数据内容

    const int*  pd = &a;//pd 常引用指针

    pd++;

      *pd = 30;//error

    

//    printf("p=&array[0]:%p\n",p);

//    //p = &array[1];

//    //指针加一代表地址往后偏移1*sizeof(指针的指向类型)

//    //指针减一代表地址往前偏移1*sizeof(指针的指向类型)

//    //printf("p=&array[1]:%p\n",p+1);

//    //printf("p=&array[1]:%p\n",p = p+1);

//    printf("p=&array[1]:%p\n",++p);

//    

//    printf("pp:%p,&p:%p\n",pp,&p);

//    printf("*pp:%p\n",*pp);

//    printf("*p:%d,a:%d\n",*p,a);

//    printf("&a:%p\n",&a);//指针是首地址

//    printf("p=&a:%p\n",p);

//    printf("&p:%p\n",&p);

//    printf("sizeof(a):%lu\n",sizeof(a));

//    printf("sizeof(p):%lu\n",sizeof(p));

//    printf("a:%d\n",a );//引用即是数据的读取

0 0
原创粉丝点击