我有一个指向数组的指针,每次读取数据时都会递增。每个数据都有不同的长度,因此我使用strlen来跳转指针。如何将指针重置回其起始地址?!谢谢你的帮助。
答案 0 :(得分:11)
将原始值存储在另一个指针中,然后将该存储的值重新分配。
char* original;
char* current;
current = wherePointerShouldPointAtStart();
original = current;
while( someCondition() ) {
usePointer( ¤t );
}
current = original;
答案 1 :(得分:3)
我认为你最好的选择就是简单地制作指针的副本,然后每当你需要引用第一个元素时,你只需要使用新的副本。例如:
int *array = ..;
int *beginning = array;
如果需要引用第一个元素,或者甚至将起始地址复制到原始指针,只需使用开始指针。