- vừa được xem lúc

[C language] size_t Type - Kiểu Bổ Trợ size_t

0 0 10

Người đăng: Semi Dev

Theo Viblo Asia

size_t - kiểu kích thước - là kiểu số nguyên không âm có độ rộng tùy thuộc vào hỗ trợ của hệ điều hành và không nhỏ hơn 16-bit. size_t được định nghĩa trong các thư viện:

  • <stddef.h>
  • <stdio.h>
  • <stdlib.h>
  • <string.h>
  • <time.h>
  • <uchar.h>
  • <wchar.h>

Trong code C tiêu chuẩn, kiểu size_t thường được sử dụng cho các biến trị số index để truy xuất mảng và các biến counter đếm vòng lặp thay cho kiểu số nguyên không dấu unsigned int. Lý do là vì thiết kế của unsigned int có độ rộng cố định là 32-bit và có thể sẽ bị tràn giá trị nếu sử dụng để đếm các bộ dữ liệu hay các vòng lặp lớn trong các chương trình 64-bit.

#include <stdio.h>
#include <stdint.h>
#include <limits.h> void main ( int $argc, char* $argv[]
) { size_t $size = SIZE_MAX; // stdint.h unsigned int $uint = UINT_MAX; // limits.h printf ("Max value of size_t : %zu \n", $size); printf ("Max value of unsigned int : %u \n", $uint);
}
# ubuntu 64-bit
Max value of size_t : 18446744073709551615 Max value of unsigned int : 4294967295

Ngoài ra size_t còn được sử dụng tại các vị trí định kiểu giá trị trả về và các tham số của các hàm trong thư viện tiêu chuẩn ví dụ như sizeof, offsetof, bsearch, qsort, v.v...

void* bsearch ( const void* key, const void* ptr, size_t count, size_t size, int (*comp) (const void*, const void*)
); void qsort ( void* ptr, size_t count, size_t size, int (*comp) (const void*, const void*)
);

Bình luận

Bài viết tương tự

- vừa được xem lúc

4 đặc tính của lập trình hướng đối tượng (Object oriented program)

Lập trình hướng đối tượng quá quen thuộc rồi bạn nào học lập trình đều phải học, đi phỏng vấn cũng vậy hỏi suốt(chắc cái này tùy vào vị trí tuyển dụng chủ yếu junior chắc chắn sẽ hỏi).nó là nền tảng cho hầu hết các design pattern hiện nay.

0 0 34

- vừa được xem lúc

Khác nhau giữa abstract class và interface khi nào dùng chúng

Nhắc đến Interface và abstract class hãy nhớ 2 từ này khá clear rồi, Khi sử dụng Interface là bạn Implement còn sử dụng abstract class là bạn extend. . Interface:. .

0 0 29

- vừa được xem lúc

Chuyện con vịt, cái máy bay và cu Tèo đọc báo

Chuyện con vịt, cái máy bay và cu Tèo đọc báo. Người đọc tự chịu trách nhiệm về tính xác thực của bài viết.

0 0 53

- vừa được xem lúc

Kinh nghiệm làm việc với Cgo

Kinh nghiệm làm việc với Cgo. Cuối tuần vừa rồi mình có làm một project nho nhỏ để học hỏi thêm, điểm khá thú vị là project này tuy không to lắm nhưng lại chứa khá là nhiều vấn đề và buộc mình phải tì

0 0 35

- vừa được xem lúc

Cách xây dựng cấu trúc dữ liệu Stack và Queue.

Mở đầu. Hello các bạn, hôm nay mình sẽ chia sẻ với các bạn cách để có thể tự xây dựng 2 loại cấu trúc dữ liệu stack(ngăn xếp) và queue(hàng đợi) sử dụng mảng trong C++;.

0 0 31

- vừa được xem lúc

Lập trình socket, giao tiếp client và server bằng ngôn ngữ C (với giao thức TCP)

Lập trình mạng là gì. Lập trình mạng là một trong những nhiệm vụ căn bản để phát triển các ứng dụng.

0 0 150