>>61
> 解決策が動的メモリ確保で無い言語を教えてほしいものだ。

そこは正直言い方がまずかったと思う。
言いたかったのは、コンパイル時にサイズの決められない配列のためだけにmallocさせるなよ、ということ。
解放し忘れが恐いなら alloca が正解?

> それとも警告だとヤダと言うことか ?

たとえば
printf("%d\n");
は警告すら出ないよ。
最近のコンパイラって、第一引数のフォーマットの中まで見て警告してくれるの?
でもフォーマットの部分って動的に指定できるから、
コンパイラじゃ完全にはカバーしきれないよね

> const ポインタ理解できてないってこと ?

struct list_t {
    list_t *next;
    int val;
};
なとき

void hoge_readonly_func(struct list_t const *node) {
    node->val = 0;       /* これは警告出る。むしろエラーにしてほしい。 */
    node->next->val = 0; /* これは警告出ない。 */
}
ってこと。「先」じゃなくて「先の先」ね。
というわけでおちけつ >>61