该标签用于有关国际标准ISO 9899:1990的问题,也称为“C89”,“C90”或“ANSI C”,带有修正和技术勘误(与K&R C,C99,C11或更高版本C标准修订版相对) )。
我可以在C标头上使用extern函数声明,该标头也用于包含函数定义的C源文件吗?
我在C89中具有以下源代码:例程_a.c:struct DataRoutineA例程A(int a,int b){struct DataRoutineA data =(struct DataRoutineA *)malloc(sizeof(DataRoutineA)); data.a = a; ...
由于这是常见的错误消息,因此我已在此问题上进行了搜索。不幸的是,我所能找到的都是线程,其中的问题源于名称相同的全局变量和局部变量。我的问题...
[在我大部分的本科C编程课程中,我们学习了C99,而我们的讲师从未费心告诉我们C99与以前版本之间的主要区别。我们最近被告知...
isnan(),isinf()直到C99才在规范中,是否仍然可以在C89中实现这样的功能?我可以使用if(d * 0!= 0)来检查d是NaN还是Inf,但我们总是使用...
strncat和strncpy写安全字符串复制函数有什么区别吗?
我遇到了两种流行的方法来编写可移植且符合 C89 的安全复制功能。 示例 1: strncpy(dst, src, 大小); dst[大小 - 1] = ' '; 示例 2: dst[0] = ' ' strncat(d...
以下代码可移植吗?我只是按值传递指针,并且可以在调用方中对其进行更改! void foo(void * p){void ** pp =(void **)p; * pp =“哈哈哈”; } int main(int argc,char ** ...
我正在使用PC-lint分析我的代码,并且这些语言会产生一些错误。这使我想知道我的编码惯例是否错误? char *开始; char * end; //提取电话号码start =(...
我只是在阅读Google Go默认情况下如何使每个线程的堆栈大小减小,然后在发生溢出时链接到新堆栈(请参阅此处的第16页)。我想知道最好的...
C90中的Linux Kernel container_of宏和通用容器
是否可以在纯C90中实现container_of宏?我不确定该怎么做,因为内核实现取决于GCC Hacks,例如typeof运算符。我问是因为我会...
我用python编写了一个脚本,该脚本扫描文件并从大数组中提取字符串。我做类似的事情:while(找到定界符#1)如果#1和#2之间的字符串是...,则搜索定界符#2 ...
#include int intVal(int x){if(x '9'){返回0; } else {x = x-'0';返回x; }} int main(void){int c,num,prev; ...
初始化用于肥皂结构函数参数的inC90中的char ** string
我正在进行肥皂开发,并使用gsoap生成了源代码,所以我想使用声明,因为如果可能的话,会提供它们。为了在我的应用程序中使用,我得到了...
我不想不必要地重新发明轮子,但我一直在寻找strtod的功能,但具有基本参数(2,8,10,16)。 (我知道strtoul允许使用基本参数,但我是...
您可能认为我在编程上完全疯了,而且非常糟糕。可能是其中一种,但请阅读我的发现。是的,我#include 可以在此处找到完整代码。(I ...
在具有//注释的行上使用-ansi -pedantic编译时出现错误。为什么会这样?程序中'/'标记杂散'\ 347'之前的预期表达式示例代码int ...
在类似情况下,有时不使用返回值会同时返回true和false
根据C89标准,以下代码合法:A_Function_that_returns_true();但是以下内容是错误的(由于未使用返回值-这可以通过声明布尔值来简单解决...
这是一个非常奇怪的问题。我看不到code1和code2之间的任何区别。但是,应该有所不同,因为它们会产生不同的结果:(注意f0和f0A(充当...