访问结构体指针中的数组
我有一个简单的结构: typedef struct { void *things; int sizeOfThings; } Demo; things 旨在包含一系列单独的“thing”,例如字符串或整数。 我创…
分配和访问结构体中字符串的指针
我试图将字符串存储在结构中包含的数组中,并访问它,但我遇到了困难。该结构如下所示: typedef struct { void **storage; int numStorage; } Box; B…
对于 uint32_t 和其他 stdint 类型,atoi 或 strtoul 的等效项是什么?
我正在寻找将字符串转换为 stdint.h 整数的标准函数,喜欢 int i = atoi("123"); unsigned long ul = strtoul("123", NULL, 10); uint32_t n = myster…
C99,“尽管有这个名称,非指令是预处理指令。”
标题中引用的脚注是什么意思?这是附在 6.10.3p11 上的脚注 如果参数列表中存在预处理标记序列,否则这些预处理标记将充当预处理指令,147) 行为未定…
右移“>>”在C99中
可能的重复: 右移运算符的奇怪行为 你好, 为什么这个函数中的两个数字都打印在相同的?这不是循环移位。 unsigned int i=0x89878685; int main() {…
在 C 中处理多个函数中的指针
我正在尝试从现有代码中创建函数,以使其更清晰,但我遇到了一些问题: 过去是: int foo(char * s, char * t, char ** out) { int val = strcmp(s, t…
在 C 中返回和操作返回值
我很难理解 C 处理返回值的方式。举例来说,我们有: int one = 0; one = foo(); // Why isn't one being assigned 10? // Clearly there is a differ…
C 中的非贪婪 fscanf 和缓冲区溢出检查
我希望让 fscanf 识别何时发生潜在的溢出,但我不知道如何最好地做到这一点。 例如,对于包含字符串的文件 **a**bb**cccc** ,我会执行 a char str[10…
在 C 中的字符串数组中重新分配内存
我试图满足 valgrind 的要求并提出一个很好的实现,但我遇到了一个障碍。本质上我想做的就是将数组中的两个字符串减少为一个。假设 arr 包含 { "One",…
桌面操作系统上的 C 编译器使用多少内存页来检测堆栈溢出?
这个问题与this one有关C99中的可变长度数组相关但不同。 答案指出,在堆栈中分配可变长度数组(或只是固定大小的大数组)的一个危险是分配可能会默默…
strtok函数设计
strtok() 函数使用静态变量。 因此它是不可重入的。并且不能用于解析多个字符串。 我想知道的是为什么strtok()要这样设计? strtok_r() 应该是 strtok…