c語言const修飾
如圖
紅色方框內的爲錯誤語句
代碼
//============================================================================
// Name : 06const修飾指針.c
// Author : ccc
// Version :
//============================================================================
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main601() {
//1、這種方式不安全 可以通過指針修改
//通過指針const修飾的常量
const int a = 10;
int *p = &a;
*p = 100;
printf("%d\n",a);
printf("%d\n",*p);
return 0;
}
int main602() {
int a = 10;
int b = 20;
//2、如果const 修飾 int * 不能改變指針變量指向的內存地址的值
// 但是可以改變指針指向的地址
const int * p;
p = &a;
// *p = 100;
p = &a;
p = &b;
printf("%d\n",*p);
return 0;
}
int main603() {
int a = 10;
int b = 20;
//3、const修飾指針變量 能改變指針變量指向地址的值
// 但是不能改變指針指向的地址
int * const p = &a;
*p = 100;
//p = &b;
printf("%d\n",*p);
return 0;
}
int main604() {
int a = 10;
int b = 20;
//4、const修飾指針類型 也修飾指針變量 那麼不能改變指針指向的地址 也不能修改指針指向的值
const int * const p = &a;
//p = &b;
//*p = 100;
return 0;
}