26/03/17 08:39:46.77 pXgEASqD.net
chatgpt様に訊いてみた
>技術的な評価(ざっくり)
>この記事の主張は Cの仕様としては正しいです。
>ただし実務では多くの場合:
>・void f(uint8_t *buf, size_t len)
>・sizeof(array)/sizeof(array[0])
>・マクロ
>・_Static_assert
>などで処理するケースが多いです。
>理由は単純で
>・uint8_t (*buf)[N] は APIとしてかなり使いにくい
>・可変長配列や動的メモリと相性が悪い
>からです。
「uint8_t buf[BUF_SIZE]が意味あるデータ構造なら要素数で区別するのではなく構造体に定義した方がまとまり良いし保守性も向上する」とか言わなかったのは意外な感じ。