我有一些遗留代码,它使用宏定义
#ifdef def_STATIC
#define STATIC static
#else
#define STATIC
#else
#endif
Run Code Online (Sandbox Code Playgroud)
我理解使用STATIC将有助于限制变量的范围取决于def_STATIC
但在什么情况下使用这种做法?它有什么用?
我有一个int(32)值Val打包形式
----------------------------------------
| 32-XXXXXXXXX-16 | 15-short-int-val-0 |
----------------------------------------
Run Code Online (Sandbox Code Playgroud)
Val如果我执行操作,从中提取短整数值时
short temp = Val & 0x0000FFFF;
Run Code Online (Sandbox Code Playgroud)
什么是操作的返回类型Val & 0x0000FFFF?我是否需要输入值以(short)(Val & 0x0000FFFFF)存储正确的数据temp?
由于我假设十六进制数字本身被视为无符号整数,因此出现了疑问.
上述操作与上述操作有何不同
short temp = Val & 0xFFFF;
Run Code Online (Sandbox Code Playgroud) 在论坛中C中的负数组上还有其他问题/答案,但我会为32位编译器请求这些答案:如果我们定义了一个数组 int test_array[5] = {1,2,3,4,5};
然后又该下列语句返回
test_array[20],test_array[-2],test_array[-32764],test_array[4294967700](值比32位可以容纳更大的),*(a-32764)等
如果索引超出其声明的范围,编译器是否强制返回任何固定值?
C中有'#'运算符吗?
如果是,那么在代码中
enum {ALPS, ANDES, HIMALYAS};
Run Code Online (Sandbox Code Playgroud)
以下将返回什么?
#ALPS
Run Code Online (Sandbox Code Playgroud) 我们的想法是通过阵列args[]具有[<int>, <String>, <int>]
接受多个参数的函数,如:
myFunc (int arg1, String arg2, int arg2 ):void
这样的函数调用:
myFunc(args[]); 可以在不改变原始函数调用的情况下实现.
欢迎任何建议.