プログラミング言語 C の新機能 Part XXIV: 配列要素中の記憶/型修飾子
(1999/10/04 [月])
配列を宣言する時には、今までは [ ] の中には整数定数を書くことしかできませんでしたが、今度の C 言語では、可変長配列を記述することができるようになったことは以前示しました。実は今度の C 言語ではさらに [ ] の中に static, restrict, const, volatile といった記憶修飾子、型修飾子を記述することができます。修飾子とその効果は次の通りです。
修飾子 | サンプル | 説明 |
---|---|---|
static | f(int p1[static 10]); | 少なくとも 10 個はアクセスでき、p1 は NULL ではないことを保証 |
restrict | f(int p1[restrict], int p2[restrict ]); | p1 と p2 は同じ配列でないことを保証 |
const | f(int p1[const]); | p1 は変更できない(p1の内容は変更できる)。f(int * const p1); と同じ。普通に配列を宣言するのと同じ。 |
volatile | f(int p1[volatile]); | p1 が予期せず変更される可能性がある。f(int * volatile p1); と同じ。 |
by seclan