const使用细节

用一段短小的程序说明const定义变量的一些细节区别

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a=9;
    int const a1=10;//必须赋初值
    const int a2=11;//必须赋初值
    int const *p1;
    const int *p2;
    p2=&a2;
    p1=&a1;
    p1=&a;//改变指向的变量
    p2=&a;
    a=3;//可以改a的值
    //*p1=4;*p2=5;报错,不能直接改变指针的值,可以改变量的值

    int b[3];
    int *p4=b;
    printf("%d %d %d %d\n",a1,a2,*p1,*p2);
    //b[3]=(int*)malloc(8*sizeof(int));
    return 0;
}


猜你喜欢

转载自blog.csdn.net/dt_zhangshuo/article/details/79117785