構造体にcharポインタがあります。この構造体メンバに静的メモリを割り当てたい。これどうやってするの?Cの構造体で定義された文字ポインタに静的メモリを割り当てる
例:
struct my_data {
int x;
bool y;
char *buf;
};
がどのようにこのchar型のポインタに10バイトのスタティックメモリを割り当てるには?私は動的メモリ割り当てを割り当てるmallocを知っています。これでいい?
struct my_data data;
char buffer[10];
data.buf = &buffer[0];
PS:私は、この構造体を変更し、動的メモリを割り当てるためにmalloc関数を使用することはできませんしています。 buffer
が今まで持続寿命を持っている必要がありますかあなたはそれがどこにあるか、それは(すなわちルーチンを割り当て解除ていないことを確認する必要があり
data.buf = buffer;
なお:(配列は自動的にポインタに崩壊する)もっと簡単になります
静的とは、プログラムの実行時間全体にわたって持続することを意味しますか?そして、あなたがしたことは正当なものですが、それが正しいかどうかは、アプリケーションのニーズによって決まります。 – StoryTeller
ありがとう@StoryTeller。 – mehtame026