这可能很简单,但是我试图尝试更好地理解指针。
可以说我有一个结构

struct Person{
  char Name[20];
  char ID[15];
  char Address[50];
  char Number[15];
};

并说我一堆又一堆地存储在内存中。
所以现在我声明一个指向该结构的新指针。
struct Person *ptr;

该指针将从FIRST条目开始吗? (又称第一个“名称”),当我对其进行迭代(又称ptr++)时,它将转到下一个STRUCT或下一个“输入”,也就是名称-> ID->

因此,例如,在第一个条目上说Im,数据是:
Jason Adams
111222333
111 Fake Drive
55555551000

第二个条目是
Matt Johns
111555333
555 Derp lane
1000022434

现在我迭代ptr(ptr++),将ptr指向第二个结构(带有matt johns的结构),还是指向Jason Adams的“ID”

我希望这是有道理的?

最佳答案

它将指向第二个结构。指针将由sizeof(Person)推进。

关于C++ Struct指针问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4066129/

10-11 22:49
查看更多