假设我有一个指向内存的指针
0x10000000
我想添加它以便它遍历内存,例如:
0x10000000 + 5 = 0x10000005
我如何在函数内执行此操作?我如何传入指针指向的地址,并在函数内部向其添加 5,然后在函数完成后,我可以使用该值?
最佳答案
您有两个选择:
该函数可以返回更新后的指针。
char *f(char *ptr) { ptr += 5; return ptr; }
调用者然后执行:
char *p = some_initialization;
p = f(p);
函数参数可以是指向指针的指针,它通过以下方式间接访问:
void f(char **ptr_ptr) { *ptr += 5; }
调用者然后执行:
char *p = some_initialization;
f(&p);
关于c - 函数内部的指针操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32979898/