-
最初,
一个函数指针必须用* 操作符(和一对额外的括弧) “转换为” 一个“真正的” 函数才能调用:...
-
问题:
如果NULL定义成#define NULL ((char *)0)
难道不就可以向函数传入不加转换的NULL 了吗?
一般情况下, 不行。
复杂之处在于, 有的机器...
-
问题:
如果NUL 和0作为空指针常数是等价的, 那我到底该用哪一个呢?许多程序员认为在所有的指针上下文中都应该使用NULL, 以表明该值应该被看作指...
-
这是一种便利。
由于数组会马上蜕变为指针, 数组事实上从来没有传入过函数。
允许指针参数声明为数组只不过是为让它看起来好像传入了数组, 因为该参数可能在函数内当作数组使用。
...
-
通常, 你不需要。
当人们随便提到数组指针的时候, 他们通常想的是指向它的第一个元素的指针。
考虑使用指向数组某个元素的指针, 而不是数组的指针。
类型T 的数组蜕变成类型T...
-
这并非易事。
一种办法是传入指向[0][0] 成员的的指针和两个维数, 然后“手 工” 模拟数组下标。
void f2(int *aryp, int n...
-
我的strcat() 不行.
我试了char *s1 = "Hello, "; char *s2 ="world!"; char *s3 = strcat(s1, s2);
但...
-
问题:
因为在C 语言中所有的非零值都被看作“真”, 是不是把TRUE 定义为1 很危险?
如果某个内置的函数或关系操作符“返回&rdquo...
-
1983 年, 美国国家标准协会(ANSI) 委任一个委员会X3J11 对C 语言进行标准化。
经过长期艰苦的过程, 该委员会的工作于1989 年12 月14 日正式被批准为AN...
-
问题:
很多ANSI 编译器在遇到以下代码时都会警告类型不匹配。
extern int func(float); int func(x) float x; { . . .
你...
-
你可以向接受const-T 的指针的地方传入T 的指针(任何类型T都适用)。
但是,
这个允许在带修饰的指针类型上轻微不匹配的规则(明显的例外)却...
-
不能。
main() 必须声明为返回int, 且没有参数或者接受适当类型的两个参数。
如果你调用了exit()但还是有警告信息, 你可能需要插入一条冗余的return语句
(...
-
问题:
我发现如果坚持检查返回值以确保用户输入的是我期待的数值, 则 scanf() 的使用会安全很多, 但有的时候好像会陷入无限循环。在scanf() 转换数字的时候, 它遇到...
-
问题:我想用strcmp() 作为比较函数, 调用qsort() 对一个字符串数组排序, 但是不行。你说的“字符串数组” 实际上是“字符指针数组...
-
问题:
我想用qsort() 对一个结构数组排序。
我的比较函数接受结构指针,但是编译器认为这个函数对于qsort() 是错误类型。
我要怎样转换这个函数指针才能避免这样的警...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va start()。
所以编译器不会接受下面...
-
“程序在执行前崩溃,用调试器单步跟进,在main()之前死了”
也许你定义了一个或多个非常大的局部数组(超过上千字节)。
许...
-
很不幸, 这没有可移植解决方法。
下面是一些你可以在你的系统中寻找的函数:
clock(), delay(), ftime(), getimeofday(), msleep()...
-
我似乎不能成功定义一个链表。我试过typedef struct { char*item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言中...
-
当用于sprintf() 的格式串已知且相对简单时, 你有时可以预测出缓冲区的大 小。
如果格式串中包含一个或两个%s, 你可以数出固定字符的个数再加上对插入 的字...