C を読み始めたばかりですが、man ページを読みましたが、適切な答えが見つかりませんでした。したがって、コードは以下のとおりです
void *p = malloc(10*sizeof(int));
int *q = p;
int NUMOFINT = 10;
for (int i = 0; i < NUMOFINT; i++){
printf("%i ", q[i]);
}
void *realloc(void *p, 20*sizeof(int));
for (int i = 0; i < 21; i++){
printf("%i ", q[i]);
そして、それはこのエラーを出しています:
malloc.c: In function ‘main’:
malloc.c:31:24: error: expected declaration specifiers or ‘...’ before numeric constant
malloc()
サイズ形式は大丈夫ですが、reallocは大丈夫ではないことをよく理解していませんでした。では、どうすればエラーを修正できますか?
編集:
だから私はそれを次のようにします:
void *morep = realloc(p, 20*sizeof(int));
int *q2 = morep;
for (int i = 0; i < 20; i++){
printf("%i ", q2[i]);
}
次のように出力さq2[11]
れます135121