void *pvoid;
pvoid++;
pvoid+=1;
按照ANSI标准,不能对void指针进行算法操作,即上面的操作是不合法的。因为它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的。也就是说必须知道内在地址的确切值。
GNU编译器则认为上面的合法的,指定void *算法操作与char *一致。
一般来说,GNU比ANSI更“开放”,提供了对更多语法的支持。
void *pvoid;
pvoid++;
pvoid+=1;
按照ANSI标准,不能对void指针进行算法操作,即上面的操作是不合法的。因为它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的。也就是说必须知道内在地址的确切值。
GNU编译器则认为上面的合法的,指定void *算法操作与char *一致。
一般来说,GNU比ANSI更“开放”,提供了对更多语法的支持。