[ 登录注册 ]

C++

我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。

2016/05/13 09:34 [db:作者] 返回上一页

在C 语言中, 类型转换意味着“把这些二进制位看作另一种类型, 并作相应的对待”; 这是一个转换操作符, 根据定义它只能生成一个右值(rvalue)。而右值既不能赋值, 也不能用++ 自增。(如果编译器支持这样的扩展, 那要么是一个错误, 要么是有意作出的非标准扩展。) 要达到你的目的可以用:p = (char *)((int *)p + 1);
或者,因为p 是char * 型, 直接用p += sizeof(int);
但是, 在可能的情况下, 你还是应该首先选择适当的指针类型, 而不是一味地试图李代桃僵。


文章来源:http://www.bozhiyue.com/mianshiti/CPP/2016/0513/95730.html
评论
发表评论