このコードでは、「配列」は文字へのポインタの配列ですか?または、他の何か?
struct tmep{
char (*array) [SIZE];
}
前もって感謝します :)
s の配列へのポインタSIZE
char
です。
宣言は使用を模倣するため、最初に括弧を評価する(*array)
と、char[SIZE]
.
割り当てるには、安定版はいつものように
array = malloc(num_elements * sizeof *array);
逆参照されたポインターchar[SIZE]
を取得して、ブロック内の各オブジェクト (ここ) のサイズを指定します。sizeof
タイプが に変更された場合、その割り当てを変更する必要はありませんint (*)[SIZE]
。
種類を指定したい場合は、
array = malloc(num_elements * sizeof(char (*)[SIZE]));
これは、malloc
成功した場合、s のnum_elements
配列に十分な大きさのブロックを割り当てSIZE
char
ます。これらの配列のそれぞれは、次のようにアクセスされます。
array[i]
およびchar
ブロック内の配列内の s
array[i][j]