1、const 定义常量,只能在初始化时赋值
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num = 10;//变量
num = 3;
printf("%d\n",num);
return 0;
}
输出3 ,num是变量,可以赋值
const int data = 10;//常量
printf("%d\n",data);
return 0;
输出10,data是常量,在初始化时可以赋值
const int data;//常量
data = 10;
printf("%d\n",data);
return 0;
错误,不能给常量赋值
2、const 与 *
include <stdio.h>
#include <stdlib.h>
// const int *p 指向常量的指针
// int *const p 指针为常量
int main()
{
int num = 10;
int data = 20;
const int *p = &data;
printf("%d\n",*p);
//*p = 3;//*p限定,只能读,不能写
return 0;
}
输出正确
#include <stdio.h>
#include <stdlib.h>
// const int *p 指向常量的指针
// int *const p 指针为常量
int main()
{
int num = 10;
int data = 20;
const int *p = &data;//只能看,不能改
printf("%d\n",*p);
*p = 3;//*p限定,只能读,不能写
return 0;
}
输出错误,*p只能读,不能写
const int * p 和 int const *p 限定只能读不可写,可以查看任意账户,不能改
int *const p 限定不可查看别人账户,对于自己的账户可改
const int * const p 和 int const * const p 限定只能看自己的账户,不能修改