c语言中初始化赋值和用#define命令对一个字符赋值有什么异同

int r=12 #define r 12

int r =12;
用int 关键字 的r 是一个变量,就是r的值现在是12但是当 我们在写一条语句r =24的时候,此时
r的值就变成了24 而对于用#define r 12 这个定义的r 就是一个常量,就是不能改变的 ,这个#define
定义宏 常量 一般放在程序的开头,所以此时的r 也是一个全局的哈,一般用#define 定义的常量都是
用大写的英文字母。 好久没有摸过C语言了,所以不是很准确,、但是你可以参考参考,希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-29
1、定义需要分配存储空间
2、初始化是定义变量时候赋给变量的值;
3、赋值是以后用到该变量,赋给该变量新的值;
  定义是在内存中确定变量的位置、大小。初始化是定义变量时候赋给变量的值(从无到有).赋值是以后用到该变量,赋给该变量新的值.
int i;//定义
int i=9;初始化
i= 7;// 赋值
第2个回答  2012-02-26
前者是变量赋值,变量r占内存,后者是宏定义,r不占内存,是预编译的,只是下面如果出现r都会替换成12
第3个回答  推荐于2018-04-13
一个是赋值一个是宏替换
int r这个r是个变量,其值可变
而#define r这个r是个宏,在函数中有用到时会用后面的数值进行替换,不能够改变其值追问

那int c=12 这个在变量在下面的变换中能不能用scanf语句进行替换,还是要用其他的方法进行替换啊

追答

这个.............
表示没看明白你想表达什么
能不能说得清楚一点具体一点

追问

就是在int c=12 可以再把c改为另外的值,这个要怎么改啊,能不能用输入语句进行更改,还是一定要用c=24这样改

追答

你可以使用scanf来改

本回答被提问者和网友采纳
第4个回答  2012-02-26
int r=12定义的是变量,#define r 12是通过宏定义了一个常量,常量值在程序中是固定不变的
相似回答