最新の gcc で試したところ、-std=c89 -pedantic の場合に下記の警告が出ます。 特に3行目が OK で、4行目が駄目な理由がよく分からないです。 どちらもスタック上の相対位置はコンパイル時に決まると思うのですが。 Cの文法について詳しい方、教えてください。
gcc --version gcc (GCC) 12.2.1 20220819 (Red Hat 12.2.1-1)
gcc -O0 -std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -c test1.c test1.c: In function ‘main’: test1.c:4:27: warning: initializer element is not computable at load time [-Wpedantic] 4 | int i = 10, *a[10] = {&i}; | ^