Hướng dẫn

Giải thích các thư viện chuẩn trong ngôn ngữ lập trình C

02 / 09 / 2016

Khi lập trình C hẳn các bạn đã sử dụng, tiếp cận và làm quen với các hàm và thư viện chuẩn được cung cấp, nhưng liệu các bạn có nắm bắt được hết danh sách các thư viện đó không? Trong bài này, mình sẽ chia sẻ các bạn về các thư viện chuẩn và ý nghĩa của chúng trong lập trình C.

  • assert.h - (Assertion)  thư viện này bao gồm các hàm dùng để phân tích, kiểm tra và test các dòng lệnh trong mã nguồn. Có thể bạn đã biết tới hàm assert() trong lập trình C nhỉ? Nó là một hàm nằm trong thư viện này.
  • ctype.h - (C Type) thư viện dùng để xử lý kí tự trong lập trình C. Ví dụ như bạn có thể muốn kiểm tra một kí tự có phải là số với hàm isdigit(), hay muốn chuyển một kí tự hoa về kí tự thường với tolower()....
  • errno.h - (Error Number) chứa thông tin về mã lỗi trong lập trình C, và đơn giản chí chứa một macro là  errno để lấy mã lỗi.
  • float.h - (Float) chứa các khai báo liên quan tới xử lý cho dữ liệu kiểu float (số có chứa dấu phẩy động).
  • limits.h - (Limits) chứa các giá trị giới hạn cho các kiểu dữ liệu, ví dụ INT_MAX, CHAR_MIN ...
  • locale.h - (Localization)  hỗ trợ xử lý về ngôn ngữ cho cho từng thiết bị, ví dụ như ngày giờ, tiền tệ ...
  • math.h - (Math) thư viện này chắc đã khá quen thuộc với các bạn rồi, nó bao gồm các hàm xử lý toán học như sin(), cos(), tan(), log(), pow(), sqrt() ...
  • stdarg.h - (Standard Arguments) dùng để xử lý số lượng đối số truyền vào trong hàm. Ví dụ như bạn muốn tạo một hàm mà không muốn giới hạn số lượng đối số truyền vào, bạn sẽ cần sử dụng tới các hàm trong thư viện này.
  • stddef.h - (Standard Definition) lưu trữ các kiểu dữ liệu bổ sung, ví dụ như size_t, wchar_t ...
  • stdio.h - (Standard I/O) không cần nói nhiều, cái này thì bạn nào lập trình C cũng đều biết cả, thư viện này chứa các hàm và cấu trúc hỗ trợ xử lý nhập và xuất dữ liệu, ví dụ: printf(), scanf(), fopen(), fclose(), fflush() ...
  • stdlib.h - (Standard Library) thư viện chứa các hàm xử lý tiêu chuẩn ví dụ như: malloc(), alloc(), strtol(), abs(), qsort(), free() ... Đây cũng là một trong những thư viện sử dụng thường xuyên khi lập trình C.
  • string.h - (String) nếu các bạn cần tới các hàm xử lý chuỗi thì sẽ cần tới thư viện này với các hàm quen thuộc như strlen(), strtok(), strcpy()...
  • time.h - (Time) thư viện chứa các hàm và cấu trúc hỗ trợ xử lý thời gian trên hệ thống như time(), mktime(), clock_t ...

Còn một thư viện nữa mà các bạn mới học lập trình C hay gặp đó là "conio.h" (Console I/O), và đây không phải là một thư viện chuẩn trong ngôn ngữ C nhé.

Thư viện chuẩn và thư viện không chuẩn khác gì nhau?

Nếu là thư viện chuẩn thì khi bạn lập trình C ở bất cứ môi trường nào, không phụ thuộc hệ điều hành hay trình biên dịch, thì cũng đều có thể sử dụng và biên dịch thành chương trình được. Điều đó có nghĩa là mã nguồn của chương trình C sử dụng các thư viện chuẩn đều có thể được biên dịch ở các trình biên dịch khác nhau (GCC, Visual Studio C++, Borland C/C++ Compiler...) vì các trình biên dịch này đã tích hợp sẵn các thư viện chuẩn rồi. Ngược lại, nếu không phải hoặc sử dụng thư viện không chuẩn thì bạn không thể làm được như vậy mà cần phải tự thực hiện tham chiếu tới các thư viện đó thì mới có thể biên dịch được. Đây cũng là lý giải cho vấn đề các bạn đưa mã nguồn từ chỗ này qua chỗ khác mà không tài nào biên dịch được, hoặc hay gặp báo lỗi là không thấy thư viện "conio.h".


Quay lại danh sách
CHIA SẺ BÀI VIẾT
KodeMate
Chat với chúng tôi Chat với chúng tôi - kodemate.com