2017-09-08 18 views
-6

ptr = (int*) malloc(100 * sizeof(int))のmallocで動的メモリ割り当てを割り当てる方法。それは静的なメモリ割り当てでなければならない。mallocとptr =(int *)malloc(100 * sizeof(int))

https://www.programiz.com/c-programming/c-dynamic-memory-allocation

+0

あなたが何を求めているのかは不明です。 –

+0

取得するために関数呼び出しを行う必要がある場合、どのように静的にすることができますか? –

+0

なぜそれは静的メモリ割り当てであるべきだと思いますか? – savram

答えて

1

あなたのポインタは静的であることができます。 Mallocedのメモリは常に動的です

+0

配列とポインタに必要なメモリが混乱していました。 4 * 10 = 40バイトと "int * ptr" "ptr =(キャスト*)malloc(4 * int(* ptr))"を保存すると、4 * 4 = 16バイトが節約されます。これらはどちらもバッファ内のメモリスロットを節約しています。違いは何ですか? – ngnrpu

+0

Mallocは、実行時に動的にヒープ上にメモリを割り当てました。あなたの中の最初の配列は、スタック(自動変数)または静的バリアブル記憶域に配置されます。事実、コンパイラが可変長配列をサポートする場合、自動変数も動的に割り当てることができます。違いは場所です –

関連する問題