以下のコードを実行してメモリがどこに置かれているのか確認してみました。nextは全く違う領域にあるという事でしょうか。
c
1#include<stdio.h> 2#include<stdlib.h> 3 4struct LIST { 5 struct LIST*next; 6 int body; 7}; 8int main() { 9 struct LIST list; 10 struct LIST*p = &list; 11 printf("構造体のアドレスは%p\n", p); 12 printf("nextのアドレスは%p\n", p->next); 13 printf("構造体メンバbodyのアドレスは%p\n",&( p->body)); 14 return 0; 15}
実行結果
c
1構造体のアドレスは003AFAA0 2nextのアドレスはCCCCCCCC 3構造体メンバbodyのアドレスは003AFAA4 4続行するには何かキーを押してください . . .
bodyが4バイトなのはわかるんですが、結局この構造体のメモリの容量は何バイトなのでしょうか。
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/10/29 09:42