C Perpustakaan Standar - Panduan Cepat

Itu assert.h file header dari Perpustakaan Standar C menyediakan makro yang disebut assert yang dapat digunakan untuk memverifikasi asumsi yang dibuat oleh program dan mencetak pesan diagnostik jika asumsi ini salah.

Makro yang ditentukan assert mengacu pada makro lain NDEBUGyang bukan merupakan bagian dari <assert.h>. Jika NDEBUG didefinisikan sebagai nama makro dalam file sumber, pada titik di mana <assert.h> disertakan,assert makro didefinisikan sebagai berikut -

#define assert(ignore) ((void)0)

Makro Perpustakaan

Berikut ini adalah satu-satunya fungsi yang ditentukan di header assert.h -

Sr.No. Deskripsi fungsi
1 void assert (ekspresi int)

Ini sebenarnya adalah makro dan bukan fungsi, yang dapat digunakan untuk menambahkan diagnostik dalam program C.

Itu ctype.h File header dari C Standard Library menyatakan beberapa fungsi yang berguna untuk pengujian dan pemetaan karakter.

Semua fungsi menerima int sebagai parameter, yang nilainya harus EOF atau dapat direpresentasikan sebagai unsigned char.

Semua fungsi mengembalikan bukan nol (benar) jika argumen c memenuhi kondisi yang dijelaskan, dan nol (salah) jika tidak.

Fungsi Perpustakaan

Berikut adalah fungsi yang ditentukan di header ctype.h -

Sr.No. Deskripsi fungsi
1 int isalnum (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah alfanumerik.

2 int isalpha (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah abjad.

3 int iscntrl (int c)

Fungsi ini memeriksa apakah karakter yang dilewatkan adalah karakter kontrol.

4 int isdigit (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah digit desimal.

5 int isgraph (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan memiliki representasi grafis menggunakan lokal.

6 int islower (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah huruf kecil.

7 int isprint (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan dapat dicetak.

8 int ispunct (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah karakter tanda baca.

9 int isspace (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah spasi kosong.

10 int isupper (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah huruf besar.

11 int isxdigit (int c)

Fungsi ini memeriksa apakah karakter yang diteruskan adalah digit heksadesimal.

Pustaka juga berisi dua fungsi konversi yang menerima dan mengembalikan "int".

Sr.No. Deskripsi fungsi
1 int tolower (int c)

Fungsi ini mengubah huruf besar menjadi huruf kecil.

2 int toupper (int c)

Fungsi ini mengubah huruf kecil menjadi huruf besar.

Kelas Karakter

Sr.No. Kelas Karakter & Deskripsi
1

Digits

Ini adalah kumpulan bilangan bulat {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.

2

Hexadecimal digits

Ini adalah himpunan dari {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}.

3

Lowercase letters

Ini adalah satu set huruf kecil {abcdefghijklmnopqrstu vwxyz}.

4

Uppercase letters

Ini adalah kumpulan huruf besar {ABCDEFGHIJKLMNOPQRSTU VWXYZ}.

5

Letters

Ini adalah satu set huruf kecil dan huruf besar.

6

Alphanumeric characters

Ini adalah satu set Digit, huruf kecil dan huruf besar.

7

Punctuation characters

Ini adalah satu set! "# $% & '() * +, -. /:; <=>? @ [\] ^ _` {|} ~

8

Graphical characters

Ini adalah sekumpulan karakter Alfanumerik dan tanda baca.

9

Space characters

Ini adalah sekumpulan tab, baris baru, tab vertikal, umpan formulir, carriage return, dan spasi.

10

Printable characters

Ini adalah kumpulan karakter Alfanumerik, Karakter Tanda Baca, dan Karakter Spasi.

11

Control characters

Dalam ASCII, karakter ini memiliki kode oktal 000 hingga 037, dan 177 (DEL).

12

Blank characters

Ini adalah spasi dan tab.

13

Alphabetic characters

Ini adalah satu set huruf kecil dan huruf besar.

Itu errno.h file header dari C Standard Library mendefinisikan variabel integer errno, yang disetel oleh panggilan sistem dan beberapa fungsi pustaka jika terjadi kesalahan untuk menunjukkan apa yang salah. Makro ini diperluas ke nilai l yang dapat dimodifikasi dari tipe int, oleh karena itu dapat dibaca dan dimodifikasi oleh program.

Itu errnodisetel ke nol saat program dimulai. Fungsi tertentu dari pustaka C standar mengubah nilainya menjadi selain nol untuk menandakan beberapa jenis kesalahan. Anda juga dapat mengubah nilainya atau mengatur ulang ke nol sesuai keinginan Anda.

Itu errno.h File header juga mendefinisikan daftar makro yang menunjukkan kode kesalahan yang berbeda, yang akan diperluas ke ekspresi konstan integer dengan tipe int.

Makro Perpustakaan

Berikut adalah makro yang ditentukan di header errno.h -

Sr.No. Makro & Deskripsi
1 extern int errno

Ini adalah makro yang disetel oleh panggilan sistem dan beberapa fungsi pustaka jika terjadi kesalahan untuk menunjukkan apa yang salah.

2 Kesalahan Domain EDOM

Makro ini mewakili kesalahan domain, yang terjadi jika argumen input berada di luar domain, di mana fungsi matematika ditentukan dan errno diatur ke EDOM.

3 ERANGE Kesalahan Rentang

Makro ini mewakili kesalahan rentang, yang terjadi jika argumen input berada di luar rentang, di mana fungsi matematika ditentukan dan errno disetel ke ERANGE.

Itu float.hFile header dari C Standard Library berisi sekumpulan berbagai konstanta yang bergantung pada platform yang terkait dengan nilai floating point. Konstanta ini diusulkan oleh ANSI C. Konstanta ini memungkinkan pembuatan program yang lebih portabel. Sebelum memeriksa semua konstanta, sebaiknya dipahami bahwa bilangan floating-point terdiri dari empat elemen berikut -

Sr.No. Komponen & Deskripsi Komponen
1

S

tanda (+/-)

2

b

basis atau radix dari representasi eksponen, 2 untuk biner, 10 untuk desimal, 16 untuk heksadesimal, dan seterusnya ...

3

e

eksponen, bilangan bulat antara minimum emin dan maksimal emax.

4

p

presisi, jumlah digit basis-b di signifikan.

Berdasarkan 4 komponen di atas, floating point akan memiliki nilai sebagai berikut:

floating-point = ( S ) p x be

or

floating-point = (+/-) precision x baseexponent

Makro Perpustakaan

Nilai berikut khusus untuk penerapan dan ditentukan dengan perintah #define, tetapi nilai ini mungkin tidak lebih rendah dari yang diberikan di sini. Perhatikan bahwa dalam semua kasus FLT mengacu pada tipefloat, DBL mengacu pada double, dan mengacu pada LDBL long double.

Sr.No. Makro & Deskripsi
1

FLT_ROUNDS

Mendefinisikan mode pembulatan untuk penambahan floating point dan itu dapat memiliki salah satu nilai berikut -

  • -1 - tidak dapat ditentukan
  • 0 - menuju nol
  • 1 - ke terdekat
  • 2 - menuju tak terhingga positif
  • 3 - menuju ketidakterbatasan negatif
2

FLT_RADIX 2

Ini mendefinisikan representasi radix dasar dari eksponen. Basis-2 adalah biner, basis 10 adalah representasi desimal normal, basis-16 adalah Hex.

3

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

Makro ini menentukan jumlah digit angka (dalam basis FLT_RADIX).

4

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

Makro ini menentukan angka desimal angka maksimum (basis 10) yang dapat direpresentasikan tanpa perubahan setelah pembulatan.

5

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

Makro ini menentukan nilai bilangan bulat negatif minimum untuk eksponen dalam basis FLT_RADIX.

6

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

Makro ini menentukan nilai bilangan bulat negatif minimum untuk eksponen dalam basis 10.

7

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

Makro ini menentukan nilai bilangan bulat maksimum untuk eksponen dalam basis FLT_RADIX.

8

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

Makro ini menentukan nilai bilangan bulat maksimum untuk eksponen dalam basis 10.

9

FLT_MAX 1E+37

DBL_MAX 1E+37

LDBL_MAX 1E+37

Makro ini menentukan nilai floating-point hingga maksimum.

10

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

Makro ini menentukan angka paling signifikan yang dapat diwakili.

11

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

Makro ini menentukan nilai titik mengambang minimum.

Contoh

Contoh berikut menunjukkan penggunaan beberapa konstanta yang ditentukan dalam file float.h.

#include <stdio.h>
#include <float.h>

int main () {
   printf("The maximum value of float = %.10e\n", FLT_MAX);
   printf("The minimum value of float = %.10e\n", FLT_MIN);

   printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}

Mari kita kompilasi dan jalankan program di atas yang akan menghasilkan hasil sebagai berikut -

The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312

Itu limits.hheader menentukan berbagai properti dari berbagai jenis variabel. Makro yang ditentukan di header ini, membatasi nilai berbagai jenis variabel seperti char, int dan long.

Batas ini menetapkan bahwa variabel tidak dapat menyimpan nilai apa pun di luar batas ini, misalnya karakter yang tidak bertanda tangan dapat menyimpan hingga nilai maksimum 255.

Makro Perpustakaan

Nilai berikut khusus untuk penerapan dan ditentukan dengan perintah #define, tetapi nilai ini mungkin tidak lebih rendah dari yang diberikan di sini.

Makro Nilai Deskripsi
CHAR_BIT 8 Mendefinisikan jumlah bit dalam satu byte.
SCHAR_MIN -128 Mendefinisikan nilai minimum untuk karakter yang ditandatangani.
SCHAR_MAX +127 Mendefinisikan nilai maksimum untuk karakter yang ditandatangani.
UCHAR_MAX 255 Mendefinisikan nilai maksimum untuk unsigned char.
CHAR_MIN -128 Mendefinisikan nilai minimum untuk tipe char dan nilainya akan sama dengan SCHAR_MIN jika char mewakili nilai negatif, jika tidak nol.
CHAR_MAX +127 Mendefinisikan nilai untuk tipe char dan nilainya akan sama dengan SCHAR_MAX jika char mewakili nilai negatif, jika tidak UCHAR_MAX.
MB_LEN_MAX 16 Mendefinisikan jumlah byte maksimum dalam karakter multi-byte.
SHRT_MIN -32768 Mendefinisikan nilai minimum untuk int pendek.
SHRT_MAX +32767 Mendefinisikan nilai maksimum untuk int pendek.
USHRT_MAX 65535 Mendefinisikan nilai maksimum untuk short int unsigned.
INT_MIN -2147483648 Mendefinisikan nilai minimum untuk sebuah int.
INT_MAX +2147483647 Mendefinisikan nilai maksimum untuk sebuah int.
UINT_MAX 4294967295 Mendefinisikan nilai maksimum untuk sebuah unsigned int.
LONG_MIN -9223372036854775808 Mendefinisikan nilai minimum untuk int panjang.
LONG_MAX +9223372036854775807 Mendefinisikan nilai maksimum untuk int panjang.
ULONG_MAX 18446744073709551615 Mendefinisikan nilai maksimum untuk sebuah int panjang unsigned.

Contoh

Contoh berikut menunjukkan penggunaan beberapa konstanta yang ditentukan di limits.h mengajukan.

#include <stdio.h>
#include <limits.h>

int main() {

   printf("The number of bits in a byte %d\n", CHAR_BIT);

   printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
   printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
   printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);

   printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
   printf("The maximum value of SHORT INT = %d\n", SHRT_MAX); 

   printf("The minimum value of INT = %d\n", INT_MIN);
   printf("The maximum value of INT = %d\n", INT_MAX);

   printf("The minimum value of CHAR = %d\n", CHAR_MIN);
   printf("The maximum value of CHAR = %d\n", CHAR_MAX);

   printf("The minimum value of LONG = %ld\n", LONG_MIN);
   printf("The maximum value of LONG = %ld\n", LONG_MAX);
  
   return(0);
}

Mari kita kompilasi dan jalankan program di atas yang akan menghasilkan hasil sebagai berikut -

The number of bits in a byte 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807

Itu locale.hheader mendefinisikan pengaturan spesifik lokasi, seperti format tanggal dan simbol mata uang. Anda akan menemukan beberapa makro yang ditentukan bersama dengan struktur pentingstruct lconv dan dua fungsi penting yang tercantum di bawah ini.

Makro Perpustakaan

Berikut adalah makro yang ditentukan di header dan makro ini akan digunakan dalam dua fungsi yang tercantum di bawah ini -

Sr.No. Makro & Deskripsi
1

LC_ALL

Mengatur segalanya.

2

LC_COLLATE

Mempengaruhi fungsi strcoll dan strxfrm.

3

LC_CTYPE

Mempengaruhi semua fungsi karakter.

4

LC_MONETARY

Mempengaruhi informasi moneter yang disediakan oleh fungsi localeconv.

5

LC_NUMERIC

Mempengaruhi pemformatan titik desimal dan informasi yang disediakan oleh fungsi localeconv.

6

LC_TIME

Mempengaruhi fungsi strftime.

Fungsi Perpustakaan

Berikut adalah fungsi yang ditentukan di lokal header.h -

Sr.No. Deskripsi fungsi
1 char * setlocale (kategori int, const char * locale)

Menyetel atau membaca informasi yang bergantung pada lokasi.

2 struct lconv * localeconv (tidak berlaku)

Menyetel atau membaca informasi yang bergantung pada lokasi.

Struktur Perpustakaan

typedef struct {
   char *decimal_point;
   char *thousands_sep;
   char *grouping;	
   char *int_curr_symbol;
   char *currency_symbol;
   char *mon_decimal_point;
   char *mon_thousands_sep;
   char *mon_grouping;
   char *positive_sign;
   char *negative_sign;
   char int_frac_digits;
   char frac_digits;
   char p_cs_precedes;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv

Berikut adalah deskripsi dari masing-masing bidang -

Sr.No. Bidang & Deskripsi
1

decimal_point

Karakter titik desimal yang digunakan untuk nilai non-moneter.

2

thousands_sep

Ribuan karakter pemisah tempat yang digunakan untuk nilai non-moneter.

3

grouping

String yang menunjukkan ukuran setiap kelompok angka dalam jumlah non-moneter. Setiap karakter mewakili nilai integer, yang menunjukkan jumlah digit dalam grup saat ini. Nilai 0 berarti nilai sebelumnya akan digunakan untuk grup lainnya.

4

int_curr_symbol

Ini adalah string simbol mata uang internasional yang digunakan. Tiga karakter pertama adalah yang ditentukan oleh ISO 4217: 1987 dan yang keempat adalah karakter, yang memisahkan simbol mata uang dari kuantitas moneter.

5

currency_symbol

Simbol lokal yang digunakan untuk mata uang.

6

mon_decimal_point

Karakter titik desimal yang digunakan untuk nilai moneter.

7

mon_thousands_sep

Karakter pengelompokan ribuan tempat yang digunakan untuk nilai moneter.

8

mon_grouping

Sebuah string yang elemennya menentukan ukuran pengelompokan digit dalam nilai moneter. Setiap karakter mewakili nilai integer yang menunjukkan jumlah digit dalam grup saat ini. Nilai 0 berarti nilai sebelumnya akan digunakan untuk grup lainnya.

9

positive_sign

Karakter yang digunakan untuk nilai moneter positif.

10

negative_sign

Karakter yang digunakan untuk nilai moneter negatif.

11

int_frac_digits

Jumlah digit yang akan ditampilkan setelah titik desimal dalam nilai moneter internasional.

12

frac_digits

Jumlah digit yang akan ditampilkan setelah titik desimal dalam nilai moneter.

13

p_cs_precedes

Jika sama dengan 1, simbol currency_symbol muncul sebelum nilai moneter positif. Jika sama dengan 0, simbol currency_symbol muncul setelah nilai moneter positif.

14

p_sep_by_space

Jika sama dengan 1, simbol currency_symbol dipisahkan oleh spasi dari nilai moneter positif. Jika sama dengan 0, maka tidak ada spasi di antara simbol currency_symbol dan nilai moneter positif.

15

n_cs_precedes

Jika sama dengan 1, simbol currency_symbol mendahului nilai moneter negatif. Jika sama dengan 0, simbol currency_symbol menggantikan nilai moneter negatif.

16

n_sep_by_space

Jika sama dengan 1, simbol currency_symbol dipisahkan oleh spasi dari nilai moneter negatif. Jika sama dengan 0, maka tidak ada spasi di antara simbol currency_symbol dan nilai moneter negatif.

17

p_sign_posn

Mewakili posisi tanda_positif dalam nilai moneter positif.

18

n_sign_posn

Merepresentasikan posisi tanda_ negatif dalam nilai moneter negatif.

Nilai-nilai berikut digunakan untuk p_sign_posn dan n_sign_posn -

Nilai Deskripsi
0 Tanda kurung merangkum nilai dan simbol currency_symbol.
1 Tanda tersebut mendahului nilai dan simbol_simbol mata uang.
2 Tanda itu berhasil dengan nilai dan simbol_kurs.
3 Tanda tersebut tepat mendahului nilai dan simbol_simbol mata uang.
4 Tanda segera menggantikan value dan currency_symbol.

Itu math.hheader mendefinisikan berbagai fungsi matematika dan satu makro. Semua fungsi yang tersedia di perpustakaan ini mengambildouble sebagai argumen dan balasan double hasilnya.

Makro Perpustakaan

Hanya ada satu makro yang ditentukan di pustaka ini -

Sr.No. Makro & Deskripsi
1

HUGE_VAL

Makro ini digunakan ketika hasil dari suatu fungsi mungkin tidak dapat direpresentasikan sebagai angka floating point. Jika besaran hasil yang benar terlalu besar untuk direpresentasikan, fungsi menyetel errno ke ERANGE untuk menunjukkan kesalahan rentang, dan mengembalikan nilai tertentu yang sangat besar yang dinamai oleh makro HUGE_VAL atau negasinya (- HUGE_VAL).

Jika besaran hasil terlalu kecil, nilai nol dikembalikan. Dalam kasus ini, errno mungkin atau mungkin tidak disetel ke ERANGE.

Fungsi Perpustakaan

Berikut adalah fungsi yang ditentukan di header math.h -

Sr.No. Deskripsi fungsi
1 acos ganda (double x)

Mengembalikan busur kosinus x dalam radian.

2 double asin (double x)

Mengembalikan sinus busur x dalam radian.

3 double atan (double x)

Mengembalikan tangen busur dari x dalam radian.

4 double atan2 (double y, double x)

Mengembalikan garis singgung busur dalam radian dari y / x berdasarkan tanda dari kedua nilai untuk menentukan kuadran yang benar.

5 double cos (double x)

Mengembalikan kosinus dari sudut radian x.

6 double cosh (double x)

Mengembalikan kosinus hiperbolik x.

7 dosa ganda (double x)

Mengembalikan sinus dari sudut radian x.

8 double sinh (double x)

Mengembalikan sinus hiperbolik x.

9 tanh ganda (x ganda)

Mengembalikan tangen hiperbolik x.

10 exp ganda (double x)

Mengembalikan nilai e pangkat xth.

11 frexp ganda (double x, int * eksponen)

Nilai yang dikembalikan adalah mantissa dan bilangan bulat yang ditunjukkan oleh eksponen adalah eksponen. Nilai yang dihasilkan adalah x = mantissa * 2 ^ eksponen.

12 double ldexp (double x, int eksponen)

Kembali x dikalikan dengan 2 pangkat eksponen.

13 log ganda (double x)

Mengembalikan logaritma natural (logaritma basis-e) dari x.

14 log ganda10 (x ganda)

Mengembalikan logaritma umum (basis-10 logaritma) dari x.

15 modf ganda (ganda x, ganda * integer)

Nilai yang dikembalikan adalah komponen pecahan (bagian setelah desimal), dan menetapkan integer ke komponen integer.

16 kekuatan ganda (x ganda, y ganda)

Mengembalikan x yang dipangkatkan dari y.

17 double sqrt (double x)

Mengembalikan akar kuadrat dari x.

18 langit-langit ganda (double x)

Mengembalikan nilai bilangan bulat terkecil yang lebih besar dari atau sama dengan x.

19 fabs ganda (double x)

Mengembalikan nilai absolut dari x.

20 lantai ganda (double x)

Mengembalikan nilai bilangan bulat terbesar kurang dari atau sama dengan x.

21 fmod ganda (x ganda, y ganda)

Mengembalikan sisa x dibagi y.

Itu setjmp.h header mendefinisikan makro setjmp(), satu fungsi longjmp(), dan satu jenis variabel jmp_buf, untuk melewati pemanggilan fungsi normal dan disiplin kembali.

Variabel Perpustakaan

Berikut adalah tipe variabel yang ditentukan di header setjmp.h -

Sr.No. Variabel & Deskripsi
1

jmp_buf

Ini adalah tipe larik yang digunakan untuk menyimpan informasi untuk makro setjmp() dan fungsi longjmp().

Makro Perpustakaan

Hanya ada satu makro yang ditentukan di pustaka ini -

Sr.No. Makro & Deskripsi
1 int setjmp (lingkungan jmp_buf)

Makro ini menyimpan lingkungan saat ini ke dalam variabelenvironment untuk digunakan nanti oleh fungsi tersebut longjmp(). Jika makro ini kembali secara langsung dari pemanggilan makro, itu mengembalikan nol tetapi jika kembali dari alongjmp() fungsi panggilan, maka nilai bukan nol dikembalikan.

Fungsi Perpustakaan

Berikut adalah satu-satunya fungsi yang didefinisikan di header setjmp.h -

Sr.No. Deskripsi fungsi
1 void longjmp (lingkungan jmp_buf, nilai int)

Fungsi ini memulihkan lingkungan yang disimpan oleh panggilan terakhir ke setjmp() makro dalam pemanggilan program yang sama dengan yang sesuai jmp_buf argumen.

Itu signal.h header mendefinisikan tipe variabel sig_atomic_t, two function calls, and several macros to handle different signals reported during a program's execution.

Library Variables

Following is the variable type defined in the header signal.h −

Sr.No. Variable & Description
1

sig_atomic_t

This is of int type and is used as a variable in a signal handler. This is an integral type of an object that can be accessed as an atomic entity, even in the presence of asynchronous signals.

Library Macros

Following are the macros defined in the header signal.h and these macros will be used in two functions listed below. The SIG_ macros are used with the signal function to define signal functions.

Sr.No. Macro & Description
1

SIG_DFL

Default signal handler.

2

SIG_ERR

Represents a signal error.

3

SIG_IGN

Signal ignore.

The SIG macros are used to represent a signal number in the following conditions −

Sr.No. Macro & Description
1

SIGABRT

Abnormal program termination.

2

SIGFPE

Floating-point error like division by zero.

3

SIGILL

Illegal operation.

4

SIGINT

Interrupt signal such as ctrl-C.

5

SIGSEGV

Invalid access to storage like segment violation.

6

SIGTERM

Termination request.

Library Functions

Following are the functions defined in the header signal.h −

Sr.No. Function & Description
1 void (*signal(int sig, void (*func)(int)))(int)

This function sets a function to handle signal i.e. a signal handler.

2 int raise(int sig)

This function causes signal sig to be generated. The sig argument is compatible with the SIG macros.

The stdarg.h header defines a variable type va_list and three macros which can be used to get the arguments in a function when the number of arguments are not known i.e. variable number of arguments.

A function of variable arguments is defined with the ellipsis (,...) at the end of the parameter list.

Library Variables

Following is the variable type defined in the header stdarg.h −

Sr.No. Variable & Description
1

va_list

This is a type suitable for holding information needed by the three macros va_start(), va_arg() and va_end().

Library Macros

Following are the macros defined in the header stdarg.h −

Sr.No. Macro & Description
1 void va_start(va_list ap, last_arg)

This macro initializes ap variable to be used with the va_arg and va_end macros. The last_arg is the last known fixed argument being passed to the function i.e. the argument before the ellipsis.

2 type va_arg(va_list ap, type)

This macro retrieves the next argument in the parameter list of the function with type type.

3 void va_end(va_list ap)

This macro allows a function with variable arguments which used the va_start macro to return. If va_end is not called before returning from the function, the result is undefined.

The stddef.h header defines various variable types and macros. Many of these definitions also appear in other headers.

Library Variables

Following are the variable types defined in the header stddef.h −

Sr.No. Variable & Description
1

ptrdiff_t

This is the signed integral type and is the result of subtracting two pointers.

2

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

3

wchar_t

This is an integral type of the size of a wide character constant.

Library Macros

Following are the macros defined in the header stddef.h −

Sr.No. Macro & Description
1 NULL

This macro is the value of a null pointer constant.

2 offsetof(type, member-designator)

This results in a constant integer of type size_t which is the offset in bytes of a structure member from the beginning of the structure. The member is given by member-designator, and the name of the structure is given in type.

The stdio.h header defines three variable types, several macros, and various functions for performing input and output.

Library Variables

Following are the variable types defined in the header stdio.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

2

FILE

This is an object type suitable for storing information for a file stream.

3

fpos_t

This is an object type suitable for storing any position in a file.

Library Macros

Following are the macros defined in the header stdio.h −

Sr.No. Macro & Description
1

NULL

This macro is the value of a null pointer constant.

2

_IOFBF, _IOLBF and _IONBF

These are the macros which expand to integral constant expressions with distinct values and suitable for the use as third argument to the setvbuf function.

3

BUFSIZ

This macro is an integer, which represents the size of the buffer used by the setbuf function.

4

EOF

This macro is a negative integer, which indicates that the end-of-file has been reached.

5

FOPEN_MAX

This macro is an integer, which represents the maximum number of files that the system can guarantee to be opened simultaneously.

6

FILENAME_MAX

This macro is an integer, which represents the longest length of a char array suitable for holding the longest possible filename. If the implementation imposes no limit, then this value should be the recommended maximum value.

7

L_tmpnam

This macro is an integer, which represents the longest length of a char array suitable for holding the longest possible temporary filename created by the tmpnam function.

8

SEEK_CUR, SEEK_END, and SEEK_SET

These macros are used in the fseek function to locate different positions in a file.

9

TMP_MAX

This macro is the maximum number of unique filenames that the function tmpnam can generate.

10

stderr, stdin, and stdout

These macros are pointers to FILE types which correspond to the standard error, standard input, and standard output streams.

Library Functions

Following are the functions defined in the header stdio.h −

Follow the same sequence of functions for better understanding and to make use of Try it(Online compiler) option, because file created in the first function will be used in subsequent functions.
Sr.No. Function & Description
1 int fclose(FILE *stream)

Closes the stream. All buffers are flushed.

2 void clearerr(FILE *stream)

Clears the end-of-file and error indicators for the given stream.

3 int feof(FILE *stream)

Tests the end-of-file indicator for the given stream.

4 int ferror(FILE *stream)

Tests the error indicator for the given stream.

5 int fflush(FILE *stream)

Flushes the output buffer of a stream.

6 int fgetpos(FILE *stream, fpos_t *pos)

Gets the current file position of the stream and writes it to pos.

7 FILE *fopen(const char *filename, const char *mode)

Opens the filename pointed to by filename using the given mode.

8 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

Reads data from the given stream into the array pointed to by ptr.

9 FILE *freopen(const char *filename, const char *mode, FILE *stream)

Associates a new filename with the given open stream and same time closing the old file in stream.

10 int fseek(FILE *stream, long int offset, int whence)

Sets the file position of the stream to the given offset. The argument offset signifies the number of bytes to seek from the given whence position.

11 int fsetpos(FILE *stream, const fpos_t *pos)

Sets the file position of the given stream to the given position. The argument pos is a position given by the function fgetpos.

12 long int ftell(FILE *stream)

Returns the current file position of the given stream.

13 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

Writes data from the array pointed to by ptr to the given stream.

14 int remove(const char *filename)

Deletes the given filename so that it is no longer accessible.

15 int rename(const char *old_filename, const char *new_filename)

Causes the filename referred to, by old_filename to be changed to new_filename.

16 void rewind(FILE *stream)

Sets the file position to the beginning of the file of the given stream.

17 void setbuf(FILE *stream, char *buffer)

Defines how a stream should be buffered.

18 int setvbuf(FILE *stream, char *buffer, int mode, size_t size)

Another function to define how a stream should be buffered.

19 FILE *tmpfile(void)

Creates a temporary file in binary update mode (wb+).

20 char *tmpnam(char *str)

Generates and returns a valid temporary filename which does not exist.

21 int fprintf(FILE *stream, const char *format, ...)

Sends formatted output to a stream.

22 int printf(const char *format, ...)

Sends formatted output to stdout.

23 int sprintf(char *str, const char *format, ...)

Sends formatted output to a string.

24 int vfprintf(FILE *stream, const char *format, va_list arg)

Sends formatted output to a stream using an argument list.

25 int vprintf(const char *format, va_list arg)

Sends formatted output to stdout using an argument list.

26 int vsprintf(char *str, const char *format, va_list arg)

Sends formatted output to a string using an argument list.

27 int fscanf(FILE *stream, const char *format, ...)

Reads formatted input from a stream.

28 int scanf(const char *format, ...)

Reads formatted input from stdin.

29 int sscanf(const char *str, const char *format, ...)

Reads formatted input from a string.

30 int fgetc(FILE *stream)

Gets the next character (an unsigned char) from the specified stream and advances the position indicator for the stream.

31 char *fgets(char *str, int n, FILE *stream)

Reads a line from the specified stream and stores it into the string pointed to by str. It stops when either (n-1) characters are read, the newline character is read, or the end-of-file is reached, whichever comes first.

32 int fputc(int char, FILE *stream)

Writes a character (an unsigned char) specified by the argument char to the specified stream and advances the position indicator for the stream.

33 int fputs(const char *str, FILE *stream)

Writes a string to the specified stream up to but not including the null character.

34 int getc(FILE *stream)

Gets the next character (an unsigned char) from the specified stream and advances the position indicator for the stream.

35 int getchar(void)

Gets a character (an unsigned char) from stdin.

36 char *gets(char *str)

Reads a line from stdin and stores it into the string pointed to by, str. It stops when either the newline character is read or when the end-of-file is reached, whichever comes first.

37 int putc(int char, FILE *stream)

Writes a character (an unsigned char) specified by the argument char to the specified stream and advances the position indicator for the stream.

38 int putchar(int char)

Writes a character (an unsigned char) specified by the argument char to stdout.

39 int puts(const char *str)

Writes a string to stdout up to but not including the null character. A newline character is appended to the output.

40 int ungetc(int char, FILE *stream)

Pushes the character char (an unsigned char) onto the specified stream so that the next character is read.

41 void perror(const char *str)

Prints a descriptive error message to stderr. First the string str is printed followed by a colon and then a space.

The stdlib.h header defines four variable types, several macros, and various functions for performing general functions.

Library Variables

Following are the variable types defined in the header stdlib.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

2

wchar_t

This is an integer type of the size of a wide character constant.

3

div_t

This is the structure returned by the div function.

4

ldiv_t

This is the structure returned by the ldiv function.

Library Macros

Following are the macros defined in the header stdlib.h −

Sr.No. Macro & Description
1

NULL

This macro is the value of a null pointer constant.

2

EXIT_FAILURE

This is the value for the exit function to return in case of failure.

3

EXIT_SUCCESS

This is the value for the exit function to return in case of success.

4

RAND_MAX

This macro is the maximum value returned by the rand function.

5

MB_CUR_MAX

This macro is the maximum number of bytes in a multi-byte character set which cannot be larger than MB_LEN_MAX.

Library Functions

Following are the functions defined in the header stlib.h −

Sr.No. Function & Description
1 double atof(const char *str)

Converts the string pointed to, by the argument str to a floating-point number (type double).

2 int atoi(const char *str)

Converts the string pointed to, by the argument str to an integer (type int).

3 long int atol(const char *str)

Converts the string pointed to, by the argument str to a long integer (type long int).

4 double strtod(const char *str, char **endptr)

Converts the string pointed to, by the argument str to a floating-point number (type double).

5 long int strtol(const char *str, char **endptr, int base)

Converts the string pointed to, by the argument str to a long integer (type long int).

6 unsigned long int strtoul(const char *str, char **endptr, int base)

Converts the string pointed to, by the argument str to an unsigned long integer (type unsigned long int).

7 void *calloc(size_t nitems, size_t size)

Allocates the requested memory and returns a pointer to it.

8 void free(void *ptr

Deallocates the memory previously allocated by a call to calloc, malloc, or realloc.

9 void *malloc(size_t size)

Allocates the requested memory and returns a pointer to it.

10 void *realloc(void *ptr, size_t size)

Attempts to resize the memory block pointed to by ptr that was previously allocated with a call to malloc or calloc.

11 void abort(void)

Causes an abnormal program termination.

12 int atexit(void (*func)(void))

Causes the specified function func to be called when the program terminates normally.

13 void exit(int status)

Causes the program to terminate normally.

14 char *getenv(const char *name)

Searches for the environment string pointed to by name and returns the associated value to the string.

15 int system(const char *string)

The command specified by string is passed to the host environment to be executed by the command processor.

16 void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))

Performs a binary search.

17 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

Sorts an array.

18 int abs(int x)

Returns the absolute value of x.

19 div_t div(int numer, int denom)

Divides numer (numerator) by denom (denominator).

20 long int labs(long int x)

Returns the absolute value of x.

21 ldiv_t ldiv(long int numer, long int denom)

Divides numer (numerator) by denom (denominator).

22 int rand(void)

Returns a pseudo-random number in the range of 0 to RAND_MAX.

23 void srand(unsigned int seed)

This function seeds the random number generator used by the function rand.

24 int mblen(const char *str, size_t n)

Returns the length of a multibyte character pointed to by the argument str.

25 size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)

Converts the string of multibyte characters pointed to by the argument str to the array pointed to by pwcs.

26 int mbtowc(whcar_t *pwc, const char *str, size_t n)

Examines the multibyte character pointed to by the argument str.

27 size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

Converts the codes stored in the array pwcs to multibyte characters and stores them in the string str.

28 int wctomb(char *str, wchar_t wchar)

Examines the code which corresponds to a multibyte character given by the argument wchar.

The string.h header defines one variable type, one macro, and various functions for manipulating arrays of characters.

Library Variables

Following is the variable type defined in the header string.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

Library Macros

Following is the macro defined in the header string.h −

Sr.No. Macro & Description
1

NULL

This macro is the value of a null pointer constant.

Library Functions

Following are the functions defined in the header string.h −

Sr.No. Function & Description
1 void *memchr(const void *str, int c, size_t n)

Searches for the first occurrence of the character c (an unsigned char) in the first n bytes of the string pointed to, by the argument str.

2 int memcmp(const void *str1, const void *str2, size_t n)

Compares the first n bytes of str1 and str2.

3 void *memcpy(void *dest, const void *src, size_t n)

Copies n characters from src to dest.

4 void *memmove(void *dest, const void *src, size_t n)

Another function to copy n characters from str2 to str1.

5 void *memset(void *str, int c, size_t n)

Copies the character c (an unsigned char) to the first n characters of the string pointed to, by the argument str.

6 char *strcat(char *dest, const char *src)

Appends the string pointed to, by src to the end of the string pointed to by dest.

7 char *strncat(char *dest, const char *src, size_t n)

Appends the string pointed to, by src to the end of the string pointed to, by dest up to n characters long.

8 char *strchr(const char *str, int c)

Searches for the first occurrence of the character c (an unsigned char) in the string pointed to, by the argument str.

9 int strcmp(const char *str1, const char *str2)

Compares the string pointed to, by str1 to the string pointed to by str2.

10 int strncmp(const char *str1, const char *str2, size_t n)

Compares at most the first n bytes of str1 and str2.

11 int strcoll(const char *str1, const char *str2)

Compares string str1 to str2. The result is dependent on the LC_COLLATE setting of the location.

12 char *strcpy(char *dest, const char *src)

Copies the string pointed to, by src to dest.

13 char *strncpy(char *dest, const char *src, size_t n)

Copies up to n characters from the string pointed to, by src to dest.

14 size_t strcspn(const char *str1, const char *str2)

Calculates the length of the initial segment of str1 which consists entirely of characters not in str2.

15 char *strerror(int errnum)

Searches an internal array for the error number errnum and returns a pointer to an error message string.

16 size_t strlen(const char *str)

Computes the length of the string str up to but not including the terminating null character.

17 char *strpbrk(const char *str1, const char *str2)

Finds the first character in the string str1 that matches any character specified in str2.

18 char *strrchr(const char *str, int c)

Searches for the last occurrence of the character c (an unsigned char) in the string pointed to by the argument str.

19 size_t strspn(const char *str1, const char *str2)

Calculates the length of the initial segment of str1 which consists entirely of characters in str2.

20 char *strstr(const char *haystack, const char *needle)

Finds the first occurrence of the entire string needle (not including the terminating null character) which appears in the string haystack.

21 char *strtok(char *str, const char *delim)

Breaks string str into a series of tokens separated by delim.

22 size_t strxfrm(char *dest, const char *src, size_t n)

Transforms the first n characters of the string src into current locale and places them in the string dest.

The time.h header defines four variable types, two macro and various functions for manipulating date and time.

Library Variables

Following are the variable types defined in the header time.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

2

clock_t

This is a type suitable for storing the processor time.

3

time_t is

This is a type suitable for storing the calendar time.

4

struct tm

This is a structure used to hold the time and date.

Struktur tm memiliki definisi berikut -

struct tm {
   int tm_sec;         /* seconds,  range 0 to 59          */
   int tm_min;         /* minutes, range 0 to 59           */
   int tm_hour;        /* hours, range 0 to 23             */
   int tm_mday;        /* day of the month, range 1 to 31  */
   int tm_mon;         /* month, range 0 to 11             */
   int tm_year;        /* The number of years since 1900   */
   int tm_wday;        /* day of the week, range 0 to 6    */
   int tm_yday;        /* day in the year, range 0 to 365  */
   int tm_isdst;       /* daylight saving time             */
};

Makro Perpustakaan

Berikut ini adalah makro yang ditentukan di waktu tajuk. H -

Sr.No. Makro & Deskripsi
1

NULL

Makro ini adalah nilai konstanta penunjuk nol.

2

CLOCKS_PER_SEC

Makro ini mewakili jumlah jam prosesor per detik.

Fungsi Perpustakaan

Berikut adalah fungsi yang ditentukan dalam waktu tajuk. H -

Sr.No. Deskripsi fungsi
1 char * asctime (const struct tm * timeptr)

Mengembalikan pointer ke string yang mewakili hari dan waktu struktur timeptr.

2 clock_t clock (kosong)

Mengembalikan waktu jam prosesor yang digunakan sejak awal era implementasi yang ditentukan (biasanya awal program).

3 char * ctime (const time_t * timer)

Mengembalikan string yang mewakili waktu lokal berdasarkan timer argumen.

4 difftime ganda (time_t time1, time_t time2)

Mengembalikan selisih detik antara time1 dan time2 (time1-time2).

5 struct tm * gmtime (const time_t * timer)

Nilai timer dipecah menjadi struktur tm dan dinyatakan dalam Coordinated Universal Time (UTC) yang juga dikenal sebagai Greenwich Mean Time (GMT).

6 struct tm * waktu lokal (const time_t * timer)

Nilai timer dipecah menjadi struktur tm dan dinyatakan dalam zona waktu lokal.

7 waktu_t mktime (struct tm * timeptr)

Mengonversi struktur yang ditunjukkan oleh timeptr menjadi nilai time_t sesuai dengan zona waktu lokal.

8 size_t strftime (char * str, size_t maxsize, const char * format, const struct tm * timeptr)

Memformat waktu yang direpresentasikan dalam struktur timeptr sesuai dengan aturan pemformatan yang ditentukan dalam format dan disimpan ke dalam str.

9 time_t time (time_t * timer)

Menghitung waktu kalender saat ini dan mengkodekannya ke dalam format time_t.