メモリ確保

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Cユーザー

メモリ確保

#1

投稿記事 by Cユーザー » 13年前

こんばんわ、C言語の勉強を始めたものです。
以下の構造体でメモリ確保を行うには
SAMPLE *sample = (SAMPLE *) malloc(sizeof(SAMPLE));
と確保できるのはわかりました。
しかし例えば

SAMPLE *sample = (SAMPLE *) malloc(500);
と余分にメモリを確保した場合、メモリ的にどういう構造になるのでしょうか?

handle→4バイト
number→4バイト
str→4バイト

[handle(4バイト)] + [number(4バイト)] + [str(4バイト)] + [余分なゴミメモリ(488バイト)]

こんな構造のメモリ領域ができあがると考えていますが、正しいでしょうか?

コード:

struct SAMPLE
{
	HANDLE handle;
	int number;
	char *str;
};

Cユーザー

Re: メモリ確保

#2

投稿記事 by Cユーザー » 13年前

申し訳ありません。もう1点気になったことがあります。

この余分に500バイト割り当てた領域のうち、
handleに20バイト
numberに10バイト
strに470バイト

といった領域の分配、割り当て?といったようなことは可能でしょうか?
可能でしたら方法をご教授いただきたいです。

Cユーザー

Re: メモリ確保

#3

投稿記事 by Cユーザー » 13年前

申し訳ありません。

また質問したことができたため、一度締めて再度スレをたてさせていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る