要么是有意作出的非标准扩展)
// 要达到你的目的可以用
p = (char *)((int *)p + 1);
// 或者,因为 p 是 char * 型, 直接用
p += sizeof(int);
//但是, 在可能的情况下...C有“按引用传递”吗?
答:真的没有。严格地讲,C总是按值传递。你可以自己模拟按引用传递, 定义接受指针的函数,然后在调用时使用 & 操作符。...事实上,当你向函数传入数组时,编译器本质上就是在模拟按引用传递。但是 C 没有任何真正等同于正式的按引用传递或 C++ 的引用参数的东西。...答:最初, 一个函数指针必须用 * 操作符 (和一对额外的括弧) “转换为” 一个 “真正的” 函数才能调用:
int r, func(), (*fp)() = func;
r = (*fp)();
而函数总是通过指针进行调用的...MS-DOS下, 在和段、偏移量打交道时, 你会发现像MK FP这类宏非常好用。