sha*_*oth 12
将原始值存储在另一个指针中,然后将该存储的值分配回来.
char* original;
char* current;
current = wherePointerShouldPointAtStart();
original = current;
while( someCondition() ) {
usePointer( ¤t );
}
current = original;
Run Code Online (Sandbox Code Playgroud)
我认为最好的选择是简单地复制指针,然后每当您需要引用第一个元素时,您只需使用新副本。例子:
int *array = ..;
int *beginning = array;
Run Code Online (Sandbox Code Playgroud)
如果需要引用第一个元素,甚至将起始地址复制到原始指针,则只需使用起始指针即可。