在C中的以下陈述中哪一个更好用?
static const int var = 5;
Run Code Online (Sandbox Code Playgroud)
要么
#define var 5
Run Code Online (Sandbox Code Playgroud)
要么
enum { var = 5 };
Run Code Online (Sandbox Code Playgroud) 这个问题可能很幼稚,但是:
constC中有关键字吗?constC和C++ 之间是否存在语义和/或语法差异? 什么是const真正的意思?只读似乎包含了它对我的意义,但是,我不确定我是对的.
如果只读且const不同,有人可以告诉我为什么吗?
提出这个问题的原因是这个答案,他说const"只是"在C语中是只读的.我认为这一切都 const意味着,无论是C还是C++.他什么意思?
为了回答constC与C++中的具体差异,我创建了一个新问题:"const"在C和C++中有何不同?按照R ..的建议.
变量的const限定如何在C和C++中有所不同?
"提出这个问题的原因是这个答案:https://stackoverflow.com/questions/4024318#4024417其中他声明const"just"在C中意味着只读.我认为所有const都意味着,无论它是C还是C++.他是什么意思?"
#define MAXSTR "Maximum number reached"
char *str = MAXSTR;
Run Code Online (Sandbox Code Playgroud)
在做这种操作的同时.代码工作正常,但我得到lint错误.我怎么解决它?
Error:
Assignment of string literal to variable
Run Code Online (Sandbox Code Playgroud)
如果我使用:
#define MAXSTR "Maximum number reached"
char *str = (char *) MAXSTR;
Run Code Online (Sandbox Code Playgroud)
然后lint错误:
Attempt to cast away const (or volatile)
Run Code Online (Sandbox Code Playgroud) 你能告诉我怎么了吗?当我尝试编译它时,我看到一个错误:Initializer元素不是常量。这大约是第二行,大概是x。
float x = 10;
float d = x/100;
float a = 0;
Run Code Online (Sandbox Code Playgroud)