我想知道是否有一个gcc宏会告诉我Linux内核版本,所以我可以适当地设置变量类型.如果没有,我将如何定义我自己的宏呢?
我正在使用open,read和close进行一些基本文件读取(文件以访问模式O_RDONLY打开).
当关闭文件时,我想不出一个好方法来处理可能的文件关闭错误,以确保文件正确关闭.
有什么建议?
访问数组时,我们使用运算符,[]如下所示:
int a[5];
...
a[b] = 12;
Run Code Online (Sandbox Code Playgroud)
b上面变量的正确数据类型是什么?
我发现这a[b]相当于*(a + b),这让我觉得我想b成为void*或者size_t但是,我不确定.
正如问题所述,我希望在C中创建一个结构,我在编译时不知道它的总大小.
例如,我想创建一个包含计数值的结构和一个包含count元素的数组.我知道这可以实现为:
typedef struct myStruct{
int count;
int *myArray;
} myStruct;
Run Code Online (Sandbox Code Playgroud)
但是,我希望这个结构占用一个固体内存块,以便我可以memcpy()在以后使用它.像这样:
typedef struct myStruct{
int count;
int myArray[count];
} myStruct;
Run Code Online (Sandbox Code Playgroud) 我正在运行这样的字符串相等检查:
if($myString eq "ExampleString")
Run Code Online (Sandbox Code Playgroud)
是否存在myString可能导致执行进入if结构的值,无论字符串文字是什么?