C言語なら、俺に聞け! <19>
■ このスレッドは過去ログ倉庫に格納されています
0064デフォルトの名無しさん
NGNGメモリー屋さんの陰謀かもしれん。その本の題名と著者をさらせ。
と言うのは、おいといて...
struct node {
struct node *next;
int data[1];
}
って定義して (next と data の順序に注意)、
p_new = (struct node *)malloc(sizeof(struct node) + 4);
なら、p_new->data[0〜1] が使えて
p_new = (struct node *)malloc(sizeof(struct node) + 8);
なら、p_new->data[0〜2] が使える。と言う方法は昔あったけど...。
ちなみにこれは、sizeof(int) == 4 を仮定してるから、普通は...
p_new = (struct node *)malloc(
sizeof(struct node) + (n - 1) * sizeof(int));
と言うようにやる。
■ このスレッドは過去ログ倉庫に格納されています