ページ 11

メモリ確保

Posted: 2013年1月31日(木) 00:03
by Cユーザー
こんばんわ、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;
};

Re: メモリ確保

Posted: 2013年1月31日(木) 00:09
by Cユーザー
申し訳ありません。もう1点気になったことがあります。

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

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

Re: メモリ確保

Posted: 2013年1月31日(木) 00:34
by Cユーザー
申し訳ありません。

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