0
リンクリストのメモリがどのように割り当てられているかを理解しようとしていたので、アドレスが格納されている場所を確認するための簡単なプログラムを作成しました。リンクリストの基本メモリ(C言語)
#include <stdio.h>
struct node {
int data;
struct node* next;
};
int main()
{
struct node first;
struct node second;
struct node third;
struct node *aux; //pointer to go through list
first.data = 1;
second.data = 2;
third.data = 3;
first.next = &second;
second.next = &third;
third.next = NULL;
aux = &first;
while (aux)
{
printf("%p\n", aux); //printing each address
aux = aux->next;
}
return 0;
}
そして、我々は出力を得る:
0x7fff14fabac0
0x7fff14fabad0
0x7fff14fabae0
だから、ノード間の1つのバイトの違いがあります。
基本的に最初の= 2番目 - 1. sizeof(int)は4バイトに等しいので、整数のために残されたメモリにはどのようにスペースがありますか?
16バイトです。 – BLUEPIXY
それはそれをクリアします。ありがとうございました! – Calin