Я пытаюсь использовать new, чтобы создать блок структур, и использовать арифметику указателей, чтобы использовать их. Но как-то неожиданные результаты приходят.
#include <iostream>
using namespace std;
struct node {
int a;
node* next;
};
void create()
{
int i;
node* ptr = new node[4];
cout << sizeof(node) << "\n";
for (i = 0; i < 4; i++) {
(ptr + i)->a = i;
(ptr + i)->next = NULL;
cout << (ptr + i) << " ";
}
}
int main()
{
create();
}
вот вывод
8
0x1006d78 0x1006d80 0x1006d88 0x1006d90
так что он не увеличивается на 8 (размер узла) каждый раз, не понял почему?