-
为什么strncpy()不能总在目标串放上终止符’\0’?
strncpy() 最初被设计为用来处理一种现在已经废弃的数据结构—...
-
scanf() 有很多问题—— 参见问题12.15, 12.16 和12.17。而且, 它的%s 格式 有着和gets() 一样的问题(参见问题12.20)...
-
如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使...
-
毫无用途;它已经过时。参见问题20.32。
-
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回指向字符的指针的函数的指针的数组?这个问题至少有以下3 种答案:
1、char *(*(*a[N])())();
2...
-
问题:对于没有初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”, 它可否作为空指针或浮点零?具有“静态” 生存期...
-
问题:以下的初始化有什么区别?char a[] = "string literal"; char *p="string literal"; 当我向p[i] 赋值的时候, 我的程序崩...
-
用下面这样的代码extern int func();int (*fp)() = func;当一个函数名出现在这样的表达式中时, 它就会&l...
-
问题:我遇到这样声明结构的代码: struct name { int namelen; char namestr[1];}; 然后又使用一些内存分配技巧使namestr ...
-
没有。
编译器没有简单的好办法实现结构比较(即, 支持结构的== 操作符),
这也符合C 的低层特性。
简单的按字节比较会由于结构...
-
传统的C 没有办法生成匿名结构值;
你必须使用临时结构变量或一个小的结构生成函数。C99 标准引入了“复合常量” (comp...
-
用fwrite() 写一个结构相对简单:
fwrite(&somestruct, sizeof somestruct, 1, fp);
对应...
-
问题:我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外部 数据文件进行”二进制” 读写。能否关掉填充, 或者控制结构域的 对齐方式? 这...
-
为了确保分配连续的结构数组时正确对齐, 结构可能有这种尾部填充。
即使 结构不是数组的成员, 填充也会保持, 以便sizeof 能够总是返回一致的大小。
-
问
题程序:
struct list {
char *item;
struct list *next;
}
-
问题:
使用我的编译器,
下面的代码int i=7; printf("%d\n", i++ * i++); 返回49?
不管按什么顺序计算, 难道不该打印出56吗? ...
-
序列点是一个时间点(在整个表达式全部计算完毕之后或在||、&&、? : 或逗号运算符处, 或在函数调用之前), 此刻尘埃落定, 所有的副作用都已确保结束。ANSI/...
-
根据C 的内部类型转换规则, 乘法是用int 进行的, 而其结果可能在转换为 long 型并赋给左边的c 之前溢出或被截短。
可以使用明确的类型转换, 强迫乘法 以...
-
问题:我想声明一个指针并为它分配一些空间, 但却不行。
这些代码有什么 问题?
char *p; *p = malloc(10);
你所声明的指针...
-
问题:
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。
为什么如下的代码((int *)p)++; 不行?在C语言中,
类型转换意味着“...