C语言基础知识
1.指针变量与const
const关键字修饰变量和数组时,成为常变量或常数组。const修饰指针变量时,有两种作用,一是限制指针变量,二是限制指针变量所指向的数据
1.1限制指针变量本身,如int* const p
限制指针本身表示指针变量本身的值不能被修改,但指向可以改变,所以被const修饰的指针变量只能在定义时初始化,不能再定义之后在赋值
int main()
{
//错误示范
int* const ip;//error
// const修饰指针变量本身,定义时必须初始化
int a = 10;
ip = &a; //error
//*************//
//正确写法
int a = 10, b = 20;
int* const ip = &a;//ok
*ip = 100;//ok
ip = &b;//error
//ip是const修饰的指针,无法进行写操作
printf("%d %p %d\n"