Tag: 常量

字符常量的类型

我正在学习物理,在我们的编程课程的讲义中,写了一个字符常量,在C中有char类型,其中字符常量我的意思是像‘x’这样的表达式。 在询问我的讲师是否是一个错误后,他说没有。 在向他展示了C90,C99和C11之后,在那里明确写出一个字符常量具有int类型,他仍然没有说这是一个错误。 所以在再次问他之前,我想向自己保证我的方法是正确的,为什么会这样,因为它似乎浪费了记忆。 我发现的一切都是为什么会这样,是因为历史原因,这是相当含糊的。 另外我想知道为什么在C ++中,他们将字符常量的类型更改为char 。 编辑:非常感谢你的答案。

在头文件中声明一个全局变量`extern const int`,但在源文件中只声明`int`

我正在试验GCC,发现你可以在头文件中声明外部变量const ,但在实现文件中保持它们是可变的。 编辑 :这实际上不起作用。 我将测试代码编译的唯一原因是因为我没有在“header.c”中包含“header.h”。 header.h: #ifndef HEADER_H_ #define HEADER_H_ extern const int global_variable; #endif header.c: int global_variable = 17; 这似乎是一个非常好的function,用于将global_variable readonly保存到header.h的用户,但保持它们可由实现(header.c)修改。 注意:以下代码只是这种声明方式如何阻止赋值给global_variable 。 #include “header.h” int main(void) { global_variable = 34; /* This is an error as `global_variable` is declared const */ return 0; } 因为我之前从未见过技术。 我开始怀疑它是否有效。 这是一个定义明确的行为,还是GCC没有提醒我的错误?

C中的宏常量和常量变量有什么区别?

可能重复: C中的“static const”vs“#define” 我开始学习C并且无法清楚地理解宏和常量变量之间的差异。 我写的时候有什么变化 #define A 8 和 const int A = 8 ?

Objective C定义UIColor常量

我有一个iPhone应用程序,我的主题有一些自定义颜色。 由于这些颜色将为我的UI修复,我想在要包含的类中定义颜色(Constants.h和Constants.m)。 我怎么做? (简单地定义它们不起作用,因为UIColors是可变的,并且会导致错误 – Initalizer不是恒定的)。 /* Constants.h */ extern UIColor *test; /* Constants.m */ UIColor *test = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]; 谢谢!

为什么我被允许在C中使用const限定变量作为数组大小?

当我运行以下代码时,它适用于C: #include int main(void) { const int x=5; char arr[x]; printf(“%d”,sizeof(arr)); } 但是我不仅在之前读过const限定变量不是real常量(这就是为什么它们不能在switch-case ),但IBM的以下链接证实了( IBMLINK )并说: const int k = 10; int ary[k]; /* allowed in C++, not legal in C */ 为什么我允许在C中使用const限定变量作为数组大小而没有任何错误?

当大小是变量而不是常量时,如何创建数组?

我有一个接收变量int的方法。 该变量构成一个数组大小(请不要给我一个向量)。 因此,我需要在我的方法中初始化一个const int来初始化一个特定大小的数组。 问题:我该怎么做? void foo(int variable_int){ int a[variable_int] = {0}; //error }

C中的无符号hex常量?

C是否处理hex常量(例如0x23FE)和有符号或无符号的int?