问题程序:
struct list {
char *item;
struct list *next;
}
问题:我想声明一个指针并为它分配一些空间, 但却不行。
这些代码有什么 问题?
char *p; *p = malloc(10);
你所声明的指针...
问题:
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。
为什么如下的代码((int *)p)++; 不行?在C语言中,
类型转换意味着“...
根据语言定义, 在指针上下文中的常数0 会在编译时转换为空指针。
也就是说, 在初始化、赋值或比较的时候, 如果一边是指针类型的值或表达式, 编译器可以确定另一边的...
问题:
如果NULL定义成#define NULL ((char *)0)
难道不就可以向函数传入不加转换的NULL 了吗?
一般情况下, 不行。
复杂之处在于, 有的机器...
真有机器用非零空指针?或者不同类型用不同的表达?
至少PL/I, Prime 50 系列用段07777, 偏移0 作为空指针。
后来的型号使用段0, 偏移0 作为C 的空指针,...
这是一种便利。
由于数组会马上蜕变为指针, 数组事实上从来没有传入过函数。
允许指针参数声明为数组只不过是为让它看起来好像传入了数组, 因为该参数可能在函数内当作数组使用。
...
问题:为什么这段代码不行?
char *answer;
printf("Type something:\n");
gets(answer);
printf("You typ...
我的strcat() 不行.
我试了char *s1 = "Hello, "; char *s2 ="world!"; char *s3 = strcat(s1, s2);
但...
我有个函数, 本该返回一个字符串, 但当它返回调用者的时候, 返回串却是垃圾信息。
确保指向的内存已经正确分配了。
例如, 确保你没有做下面这样的事情:
char *itoa...
我在检查一个字符串是否跟某个值匹配。
为什么这样不行?
char *string;
. . .
if(s...
问题:
很多ANSI 编译器在遇到以下代码时都会警告类型不匹配。
extern int func(float); int func(x) float x; { . . .
你...
你可以向接受const-T 的指针的地方传入T 的指针(任何类型T都适用)。
但是,
这个允许在带修饰的指针类型上轻微不匹配的规则(明显的例外)却...
第一, 保存getchar的返回值的变量必须是int型。
getchar() 可能返回任何字符值, 包括EOF。
如果把getchar 的返回值截为...
问题:我想用strcmp() 作为比较函数, 调用qsort() 对一个字符串数组排序, 但是不行。你说的“字符串数组” 实际上是“字符指针数组...
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va start()。
所以编译器不会接受下面...