char *p;
*p = malloc(10);
答:你所声明的指针是p, 而不是*p, 当你操作指针本身时你只需要使用指针的名字即可:cp = malloc(10);当你操作指针指向的内存时,你才需要使用...(如果编译器支持这样的扩展, 那要么是一个错误, 要么是有意作出的非标准扩展)
// 要达到你的目的可以用
p = (char *)((int *)p + 1);
// 或者,因为 p 是 char...* 型, 直接用
p += sizeof(int);
//但是, 在可能的情况下, 你还是应该首先选择适当的指针类型, 而不是一味地试图李代桃僵。...你可以自己模拟按引用传递, 定义接受指针的函数,然后在调用时使用 & 操作符。事实上,当你向函数传入数组时,编译器本质上就是在模拟按引用传递。..., 所有 “真正的” 函数名总是隐式的退化为指针。