PX-17-常量分析
两种形式的定义常量的分析
1.const 定义的常量是不能直接修改 ,define 定义的常量是不能被修改的
#include<stdio.h> //void main() //{ // const int 吴伟的颜值 = 99; // // //吴伟的颜值 = 67;直接不能直接修改 // // printf("%d", 吴伟的颜值); // printf("\n%p", &吴伟的颜值); // // //*根据地址取出内容, int*类型将常量地址转化为非常量地址类型 // // * (int*) ( &吴伟的颜值)=98; // // printf("\n%d", 吴伟的颜值); // // getchar(); //}
const 不算真正意义的常量
2.定义常量的两种方式

#define XX的颜值 100 //define 不能加;,加了就是一起替换 //define 意义明确 ,实现批量修改,软件可拓展一点 void main() { printf("%d", xx的颜值);
// &xx的颜值 是不能进行取地址
// 原因: define 是进行替换的意思 也就是代码转换后为 &100
// 100在寄存器中产生而不在内存中产生,因此不能取地址
//XX的颜值 = 100; //真正的常量,不能直接修改,也不能间接修改 //C语言能操作内存,不能操作寄存器, //汇编语言同时干两个活,操作寄存器和内存 }
代码:
#include<stdio.h> //void main() //{ // const int 吴伟的颜值 = 99; // // //吴伟的颜值 = 67;直接不能直接修改 // // printf("%d", 吴伟的颜值); // printf("\n%p", &吴伟的颜值); // // //*根据地址取出内容, int*类型将常量地址转化为非常量地址类型 // // * (int*) ( &吴伟的颜值)=98; //不算真正意义的常量 // // printf("\n%d", 吴伟的颜值); // // getchar(); //} // #define 吴伟的颜值 98 //define不能加;,加了就是一起替换 //意义明确 ,实现批量修改,软件可拓展一点 void main() { printf("%d", 吴伟的颜值); //吴伟的颜值 = 100; //真正的常量,不能直接修改,也不能间接修改 //C语言能操作内存,不能操作寄存器, //汇编语言同时干两个活 } void go() { printf("%d", 吴伟的颜值); }

浙公网安备 33010602011771号