.bssセグメントが必要なのはなぜですか?
私が知っているのは、グローバル変数と静的変数が.dataセグメントに格納され、初期化されていないデータが.bssセグメントにあることです。私が理解していないのは、初期化されていない変数専用のセグメントがあるのはなぜですか?初期化されていない変数に実行時に値が割り当てられている場合、変数はまだ.bssセグメントにのみ存在しますか? 次のプログラムで aは、.dataセグメントb内にあり、.bssセグメント内にあります。あれは正しいですか?私の理解が間違っている場合は親切に私を修正します。 #include <stdio.h> #include <stdlib.h> int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9}; int b[20]; /* Uninitialized, so in the .bss and will not occupy space for 20 * sizeof (int) */ int main () { ; } また、次のプログラムを検討してください、 #include <stdio.h> #include <stdlib.h> …