Hàm realloc() trong C
realloc trong C là gì? Cách dùng hàm realloc trong ngôn ngữ lập trình C như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!
Hàm realloc() trong C là gì?
Hàm realloc() trong ngôn ngữ lập trình C được dùng để chỉnh lại kích thước khối bộ nhớ được chỉ tới một con trỏ trước đó đã được cấp phát cho biến bởi hàm malloc() hoặc calloc(). Realloc là viết tắt của phân bổ lại - reallocation trong tiếng Anh.
Malloc()là hàm được dùng để linh động phân bổ một khối bộ nhớ lớn theo kích thước cụ thể.Calloc()được dùng để phân bổ linh động một số khối liền kề nhất định theo một kích thước cụ thể.
Công thức của hàm realloc() trong C
void *realloc(void *ptr, size_t size)
Ngoại lệ của hàm realloc() trong C
Ngoại lệ của realloc() là chỉ có thể sử dụng nó để phân bổ bộ nhớ động. Nếu bộ nhớ không được phân bổ động, thì nó sẽ hiện một hành vi bất thường và chương trình có thể chứa các giá trị rác.
Tham số
ptr: Đây là con trỏ tới khối bộ nhớ đã được cấp phát trước đó với malloc, calloc hoặc realloc để được tái cấp phát. Nếu giá trị là NULL, thì một khối mới được cấp phát và một con trỏ tới nó được trả về bởi hàm này.
kich-co: Đây là kích cỡ mới cho khối bộ nhớ. Nếu giá trị là 0 và con trỏ ptr trỏ tới một khối nhớ đang tồn tại, khối nhớ được trỏ tới bởi ptr được giải phóng và một con trỏ NULL được trả về.
Trả về giá trị
Hàm này trả về một con trỏ tới bộ nhớ được cấp phát mới, hoặc trả về NULL nếu yêu cầu thất bại.
Ví dụ
Chương trình C sau minh họa cách sử dụng của realloc() trong C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *str;
/* lan cap phat bo nho ban bau */
str = (char *) malloc(15);
strcpy(str, "QTM");
printf("Chuoi = %s, tai Dia chi = %u\n", str, str);
/* tai cap phat lai bo nho */
str = (char *) realloc(str, 25);
strcat(str, "@gmail.com");
printf("Chuoi = %s, tai Dia chi = %u\n", str, str);
free(str);
return(0);
}Biên dịch và chạy chương trình C trên để xem kết quả.
Nhìn chung, bạn cần nhớ những điều sau về hàm realloc() trong C:
- Công thức và tham số của hàm realloc() trong C.
- Giá trị trả về của hàm realloc().
- Mục đích sử dụng và ngoại lệ khi dùng hàm realloc.
Bài trước: Hàm malloc() trong C
Bài tiếp: Hàm abort() trong C
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Hướng dẫn xem nhiều trang trong Word cùng lúc
2 ngày -

Sự khác nhau của tên gọi đồ vật, cách xưng hô giữa các miền
2 ngày 2 -

Toán tử trong lập trình C
2 ngày 1 -

‘Từ điển’ tiếng Huế thông dụng
2 ngày -

Cách xóa công cụ tìm kiếm Yahoo khỏi Chrome
2 ngày 16 -

Gia chủ tuổi Tuất nên chọn ai xông đất, xông nhà hợp năm 2024
2 ngày 1 -

Những câu nói về hôn nhân, tình cảm vợ chồng hay, đáng suy ngẫm
2 ngày -

Cách sử dụng lịch sử Clipboard trong Windows 10
2 ngày -

60+ Câu đố về quả giúp trẻ rèn luyện tư duy
2 ngày -

Những stt về mưa hay nhất, câu nói hay về mưa
2 ngày
Học IT
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy