Hàm calloc() trong C
Hàm void *calloc(so-phan-tu, kich-co-phan-tu) cấp phát bộ nhớ được yêu cầu và trả về một con trỏ tới nó. Điểm khác nhau giữa malloc và calloc là: malloc không thiết lập bộ nhớ về 0 trong khi calloc thiết lập bộ nhớ đã cấp phát về 0.
Khai báo hàm calloc() trong C
Dưới đây là phần khai báo cho calloc() trong C:
void *calloc(so-phan-tu, kich-co-phan-tu)
Tham số
so-phan-tu: Đây là số phần tử để được cấp phát.
kich-co-phan-tu: Đây là kích cỡ của phần tử.
Trả về giá trị
Hàm này trả về một con trỏ tới bộ nhớ đã cấp phát, 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 calloc() trong C:
#include <stdio.h> #include <stdlib.h> int main() { int i, n; int *a; printf("Nhap so phan tu: \n"); scanf("%d",&n); a = (int*)calloc(n, sizeof(int)); printf("Nhap %d so: \n",n); for( i=0 ; i < n ; i++ ) { scanf("%d",&a[i]); } printf("Cac so vua nhap la: \n"); for( i=0 ; i < n ; i++ ) { printf("%d ",a[i]); } return(0); }
Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Theo Tutorialspoint
Bài trước: Hàm strtoul() trong C
Bài tiếp: Hàm free() 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:
-
Ngôn ngữ lập trình C là gì?
-
Hướng dẫn cài đặt C
-
Cấu trúc chương trình C cơ bản
-
Cú pháp cơ bản
-
Kiểu dữ liệu
-
Biến trong C
-
Hằng số
-
Lớp lưu trữ
-
Các toán tử
-
Điều khiển luồng
-
Vòng lặp
-
Các hàm trong C
-
abort()
-
abs()
-
atexit()
-
atof()
-
atoi()
-
atol()
-
bsearch()
-
calloc()
-
clearerr()
-
ldiv()
-
exit()
-
fclose()
-
feof()
-
ferror()
-
fflush()
-
fgetc()
-
fgetpos()
-
fgets()
-
fopen()
-
fprintf()
-
fputc()
-
fputs()
-
fread()
-
free()
-
freopen()
-
fscanf()
-
fseek()
-
fsetpos()
-
ftell()
-
fwrite()
-
getc()
-
getchar()
-
getenv()
-
gets()
-
labs()
-
labs()
-
malloc()
-
mblen()
-
mbstowcs()
-
mbtowc()
-
memchr()
-
memcmp()
-
memcpy()
-
memset()
-
perror()
-
printf()
-
putc()
-
putchar()
-
puts()
-
qsort()
-
raise()
-
rand()
-
realloc()
-
remove()
-
rename()
-
rewind()
-
scanf()
-
setbuf()
-
setvbuf()
-
signal()
-
sprintf()
-
srand()
-
sscanf()
-
strchr()
-
strcmp()
-
strcoll()
-
strcpy()
-
strcspn()
-
strerror()
-
strlen()
-
strncat()
-
strncmp()
-
strncat()
-
strncpy()
-
strpbrk()
-
strrchr()
-
strspn()
-
strstr()
-
strtod()
-
strtok()
-
strtol()
-
strtod()
-
strtoul()
-
strxfrm()
-
system()
-
tmpfile()
-
tmpnam()
-
ungetc()
-
vfprintf()
-
vsprintf()
-
wcstombs()
-
wctomb()
-
-
Quy tắc phạm vi
-
Mảng
-
Con trỏ
-
Chuỗi
-
Cấu trúc (Structure)
-
Union trong C
-
Bit Field
-
Typedef
-
Input & Output
-
Đọc và ghi file
-
Bộ tiền xử lý
-
Header File
-
Ép kiểu
-
Xử lý lỗi
-
Đệ quy
-
Tham số biến
-
Quản lý bộ nhớ
-
Tham số dòng lệnh
-
Thư viện C
-
Switch
-
Enumeration (enum)
Hướng dẫn AI
Học IT
Hàm Excel