在GCC中,加减操作是作用于void类型和指向函数的指针。一般而言,ISO C不允许在这些指针上执行算术操作,因为“void”大小是没有意义的,而且依赖于指针真正指向哪里。为了支持这种算术操作,GCC把引用对象作为单个字节。因此,以下代码会对a递增1:
当使用这些扩展时,编译选项 -Wpointer -arith会触发GCC生成一条告警信息。