hèm hàm malloc là hàm khi cấp phát bộ nhớ thì nó sẽ gán giá trị rác cho phần tử của mảng với cú pháp là :
Code:
int *pt;
pt=(int *) malloc(n * (sizeof(int) );// ở đây int* là ép kiểu về int còn n là số phần tử mảng xin cấp phát còn sizeof(int) là trả về kích thước thực của int là 2byte( cái này tùy trình biên dịch hiểu , với win là 4byte và dos là 2 byte).
còn hàm calloc cũng tương tự khác ở chỗ khi cấp thì giá ttrị nó gán cho các phần tử là =0 với cú pháp:
Code:
pt=(int *) calloc(n,sizeof(int) );
còn hàm realloc thì cấp mới cho con trỏ nếu con trỏ =0 và cấp tiếp nếu con trỏ pt !=0 với cú pháp:
Code:
pt=(int *) realloc(pt,n* sizeof(int) );
ở đây nó sẽ kiểm tra xem nếu pt=0 tức đã đc free thì sẽ cấp mới còn nếu !=0 sẽ cấp thêm bộ nhớ vào cho nó ví dụ:
mảng pt = 1 2 3 4, ở đây mảng có 4 phần tử kiểm tra pt!=0 sẽ cấp thêm số lượng bộ nhớ cho pt với giá trị là n khi nhập vào, ta nhập n=2 rồi nhập giá trị tiếp theo sẽ là 5 6 > mảng là 1 2 3 4 5 6. Chút kiến thức mọn nếu sai mong mọi người chỉ bảo dùm.Chúc bạn học tốt.Thân!!