const 用法
const 修饰变量,这个变量被称为常变量,不能被修改,但本质上还是一个变量
#通过指针改变num的值
int main()
{int num = 10;int* p = #*p = 20;printf("%d ", num);return 0;
}
#这里num被 const修饰本来不能被修改,但num把地址交给了p,结果p通过解引用找到num,把num给修改了
int main()
{const int num = 10;int *p = #//const int* p = #// 解决方法:num就不会被修改了*p = 20;printf("%d ", num);return 0;
}
#num 值不会被改变
int main()
{const int num = 10;//int *p = #const int* p = #// 解决方法:num就不会被修改了*p = 20;printf("%d ", num);return 0;
}
#const 修饰指针变量时,如果const放在*号左边,表示指针指向的内容,是不能通过指针来改变的,但指针变量本身是可以被修改的
int main()
{//const 修饰变量,这个变量是一个常变量,不能被修改,但其本质上还是一个变量const int num = 10;int n = 100;const int* p = #//const 修饰指针变量时,如果const放在*号左边,表示指针指向的内容,是不能通过指针来改变的,但指针变量本身是可以被修改的p = &n;printf("%d ", num);return 0;
}
#const 修饰指针变量时,如果const放在*号右边,修饰的是指针变量p,表示指针变量不能被改变,但是指针指向的内容可以被改变
int main()
{//const 修饰变量,这个变量是一个常变量,不能被修改,但其本质上还是一个变量const int num = 10;int n = 100;int *const p = #//const 修饰指针变量时,如果const放在*号右边,修饰的是指针变量p,表示指针变量不能被改变,但是指针指向的内容可以被改变p = &n;printf("%d ", num);return 0;
}