以下是本人总结的几个关于C语言指针常遇到的几个问题,你能答几个?
4.1 我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么问题?char *p; *p = malloc(10);
4.2 *p++ 自增 p 还是 p 所指向的变量?
4.3 我有一个 char * 型指针正巧指向一些 int 型变量, 我想跳过它们。为什么如下的代码((int *)p)++; 不行?
4.4 我有个函数,它应该接受并初始化一个指针 void f(int *ip) { static int dummy = 5; ip = &dummy;}
但是当我如下调用时: int *ip;f(ip); 调用者的指针却没有任何变化。
4.5 我能否用 void** 指针作为参数, 使函数按引用接受一般指针?
4.6 我有一个函数 extern int f(int *); 它接受指向 int 型的指针。我怎样用引用方式传入一个常数?下面这样的调用 f(&5); 似乎不行。
4.7 C 有 “按引用传递” 吗?
4.8 我看到了用指针调用函数的不同语法形式。到底怎么回事?
4.9 我怎样把一个 int 变量转换为 char * 型?我试了类型转换, 但是不行。