c99

    0热度

    1回答

    编辑问题是:“‘strnlen’的功能隐式声明”:我怎么删除警告/EDIT 编译(特殊切下的测试只有一个的#include) #include <string.h> void DeleteMe(){ const char* pC = "ABC"; int nLen = strnlen(pC, 255); char buffer[256]; strncpy(

    0热度

    3回答

    所以我有这样的结构: struct state { int previous[2]; int current[2]; bool pen; }; typedef struct state state; 在我使用这个作为一个参数的一些功能,例如: void new_state(&s, char *file, int i, int j){ int new

    -3热度

    1回答

    我有一个char数组,它是以下形式: [17字符,一个标签炭,17个字符,一个标签炭,17个字符,一个标签char,代表长度为1到4位数字的char,空字节] 我想存储位于tab变量和空字节之间的字符在新变量中。 例1:这可能是我的字符数组: [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6 ,如图7所示,\吨,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,\

    1热度

    1回答

    中无效,我以前使用过pod'FMDB/SQLCipher',并且它是OK。现在它说“隐式声明的函数'sqlite3_rekey'在C99中是无效的”我试图解决这个问题,但它不起作用,我该怎么办?

    0热度

    1回答

    我已阅读this但接受的答案对我来说没有意义。我应该能够定义C99枚举作为 enum WeekDays { MON, TUES, WED, THURS, FRI, SAT, SUN }days; 和利用作为枚举作为 days = FRI; if (days == FRI) { printf("Thank God it's Friday!"); } 为什么在接受

    0热度

    5回答

    好吧,虽然关于void*,The C Programming Language (K&R)和The C++ Programming Language (Stroustrup)这样的书籍的详细资料Stack很混乱。我学到了什么? void*是一个没有推断类型的泛型指针。它需要转换为任何已定义的类型,并且打印void*只是产生地址。 我还知道什么? void*不能被解除引用,并且迄今为止仍然是C/C+

    0热度

    1回答

    在C,柔性阵列构件的语法如下: struct s { int n; double d[]; // flexible array member }; 而且,零尺寸数组中C.非法 如果我声明阵列是这样的: struct s { double d[0]; // Zero size array }; GCC给出警告: warning: ISO C forbid

    2热度

    2回答

    C99和C11中的有效类型规则规定,没有声明类型的存储可以用任何类型写入,并且存储非字符类型的值将相应地设置存储的有效类型。 抛开INT_MAX可能小于123456789的事实,以下代码对有效类型规则的使用是否严格符合? #include <stdlib.h> #include <stdio.h> /* Performs some calculations using using int,

    3热度

    3回答

    为什么int16_t complex不能编译,而在x86和x86_64机器上的int16_t,是short int上的typedef?以下是使用C99和C11标准对gcc 5.4和4.9进行测试的示例代码。编译器抱怨在声明说明符中有两个或多个数据类型。 代码: #include <complex.h> #include <stdint.h> #include <stdio.h> int m

    5热度

    1回答

    作为比较操作数的结构不可用是C中更明显的事情之一,对我来说没有太大意义。结构可以按值传递并通过赋值复制,但==未指定。 以下是C11标准(草案)的相关部分,它们定义了等号运算符(==和!=)和简单赋值运算符(=)的约束条件。请注意在平等运营商的限制下缺乏结构和联盟。 (除了缺少处理_Atomic C99的措辞是相同的)。 6.5.9公平运营商 约束 下列情况之一的应持有: 两个操作数的算术类型;