如何使这样的工作?
void *memory = malloc(1000); //allocate a pool of memory
*(memory+10) = 1; //set an integer value at byte 10
int i = *(memory+10); //read an integer value from the 10th byte
如何使这样的工作?
void *memory = malloc(1000); //allocate a pool of memory
*(memory+10) = 1; //set an integer value at byte 10
int i = *(memory+10); //read an integer value from the 10th byte
简单的例子:把存储器中作为无符号字符的数组
void *memory = malloc(1000); //allocate a pool of memory
uint8_t *ptr = memory+10;
*ptr = 1 //set an integer value at byte 10
uint8_t i = *ptr; //read an integer value from the 10th byte
您可以使用整数太大,但你一定要注意你在一次设置的字节数量。
规则很简单:
从这里就可以得出结论,如果你想进行“原始”指针运算,你要投,并从字符*。
因此,通过“工作”我假设你的意思是“我怎么提领/上执行指针运算void*
”? 你不能; 你要投它,通常以一个char*
如果你只是关心的内存中读取数据块。 当然,如果是这样的话,简单地声明为char*
开始。