-
根据C 的内部类型转换规则, 乘法是用int 进行的, 而其结果可能在转换为 long 型并赋给左边的c 之前溢出或被截短。
可以使用明确的类型转换, 强迫乘法 以...
-
有两条简单规则你必须遵循:
1、当你在源码中需要空指针常数时, 用“0” 或“NULL”。
2、如果在函数调用中“0...
-
在C 语言中对数组和指针的困惑多数都来自这句话。
说数组和指针“等价”不表示它们相同, 甚至也不能互换。
它的意思是说数组和指针的算法定义可以用指针方便...
-
现象:当我向一个接受指针的指针的函数传入二维数组的时候, 编译器报错了。
数组蜕化为指针的规则(参见问题6.3) 不能递归应用。
数组的数组(即C 语言中的二维数组) 蜕化为数...
-
问题:
因为在C 语言中所有的非零值都被看作“真”, 是不是把TRUE 定义为1 很危险?
如果某个内置的函数或关系操作符“返回&rdquo...
-
问题:
我第一次把一个程序分成多个源文件, 我不知道该把什么放到.c 文 件, 把什么放到.h 文件。(“.h” 到底是什么意思?)作为一般规则, 你应该...
-
你可以向接受const-T 的指针的地方传入T 的指针(任何类型T都适用)。
但是,
这个允许在带修饰的指针类型上轻微不匹配的规则(明显的例外)却...
-
某些构造随编译器和硬件的实现而变化, 这一直是C语言的一个特点。
这种有意的不严格规定可以让编译器生成效率更高的代码, 而不必让所有程序为了不合理的情况承担额外的负...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va start()。
所以编译器不会接受下面...
-
首先, 尽管一个全局变量或函数可以(在多个编译单元中) 有多处“声明”, 但是“定义” 却只能允许出现一次。
定义是分配空间并赋初...