Tôi có đoạn code về malloc như sau:
#include <stdio.h>
int main(){
int* a = (int*)malloc(sizeof(int));
int b;
for(b = 0; b < 10; b++){
printf("Enter value of a[%d]\n", b);
scanf("%d", &a[b]);
}
for(b = 0; b < 10; b++){
printf("a[%d] = %d\n", b, a[b]);
}
free(a);
return 0;
}
Như đoạn code trên. Tôi sử dụng 1 biến malloc và có thể khai báo cũng như xuất ra màn hình giá trị của a.
Vậy thì tại sao lại phải dùng
int n = ...;
int* a = (int*)malloc(n * sizeof(int));
Mong các bạn sớm giải đáp thắc mắc này giúp tôi! Xin cảm ơn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?