int main()
{
const int a; //
int const b;
const char *c;
char * const d; char buf[100]
const char * const e ;
return 0;
}
Int func1(const )
初级理解:const是定义常量==》const意味着只读
含义:
//第一个第二个意思一样 代表一个常整形数
//第三个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
//第四个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)
//第五个 e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)
Const好处
//合理的利用const,
//1指针做函数参数,可以有效的提高代码可读性,减少bug;
//2清楚的分清参数的输入和输出特性
结论:
//指针变量和它所指向的内存空间变量,是两个不同的概念。。。。。。
//看const 是放在*的左边还是右边 看const是修饰指针变量,还是修饰所指向的内存空变量
第一种
char * const p
#include <stdio.h>
int main()
{
char * const p=NULL;
*p=1;
}
p 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)
可以修改*p;
第二种
const char * p
#include <stdio.h>
int main()
{
char a=0;
const char * p=NULL;
p=&a;
}
p是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
第三种
const char * const p
#include <stdio.h>
int main()
{
const char * const p="abc";
printf("%s",p) ;
}
p一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)
只能读不能改