wordpress 站外调用,重庆合川企业网站建设,信息流优化师职业规划,网红营销的概念简介
stdlib.h 头文件定义了四个变量类型、一些宏和各种通用工具函数。
库变量
下面是头文件 stdlib.h 中定义的变量类型#xff1a;
序号变量 描述1size_t2wchar_t3div_t4ldiv_t
库宏
下面是头文件 stdlib.h 中定义的宏#xff1a;
序号宏 描述1…简介
stdlib.h 头文件定义了四个变量类型、一些宏和各种通用工具函数。
库变量
下面是头文件 stdlib.h 中定义的变量类型
序号变量 描述1size_t2wchar_t3div_t4ldiv_t
库宏
下面是头文件 stdlib.h 中定义的宏
序号宏 描述1NULL2EXIT_FAILURE3EXIT_SUCCESS4RAND_MAX5MB_CUR_MAX
库函数
下面是头文件 stdlib.h 中定义的函数
1. double atof(const char *str)
把参数 str 所指向的字符串转换为一个浮点数类型为 double 型。
#include stdlib.h
#include stdio.hint main() {const char *str 3.14;double value atof(str);printf(The converted value is: %lf\n, value);return 0;
}2. int atoi(const char *str)
把参数 str 所指向的字符串转换为一个整数类型为 int 型。
#include stdlib.h
#include stdio.hint main() {const char *str 12345;int value atoi(str);printf(The converted value is: %d\n, value);return 0;
}3. long int atol(const char *str)
把参数 str 所指向的字符串转换为一个长整数类型为 long int 型。
#include stdlib.h
#include stdio.hint main() {const char *str 987654321;long int value atol(str);printf(The converted value is: %ld\n, value);return 0;
}4. double strtod(const char *str, char **endptr)
把参数 str 所指向的字符串转换为一个浮点数类型为 double 型。
#include stdlib.h
#include stdio.hint main() {const char *str 3.14159 This is a string;char *endptr;double value strtod(str, endptr);printf(The converted value is: %lf\n, value);printf(The remaining string is: %s\n, endptr);return 0;
}5. long int strtol(const char *str, char **endptr, int base)
把参数 str 所指向的字符串转换为一个长整数类型为 long int 型。
#include stdlib.h
#include stdio.hint main() {const char *str 12345 This is a string;char *endptr;long int value strtol(str, endptr, 10);printf(The converted value is: %ld\n, value);printf(The remaining string is: %s\n, endptr);return 0;
}6. unsigned long int strtoul(const char *str, char **endptr, int base)
把参数 str 所指向的字符串转换为一个无符号长整数类型为 unsigned long int 型。
#include stdlib.h
#include stdio.hint main() {const char *str 12345 This is a string;char *endptr;unsigned long int value strtoul(str, endptr, 10);printf(The converted value is: %lu\n, value);printf(The remaining string is: %s\n, endptr);return 0;
}7. void *calloc(size_t nitems, size_t size)
分配所需的内存空间并返回一个指向它的指针。
#include stdlib.hint main() {int *ptr;ptr (int *)calloc(5, sizeof(int));free(ptr);return 0;
}8. void free(void *ptr)
释放之前调用 calloc、malloc 或 realloc 所分配的内存空间。
#include stdlib.hint main() {int *ptr;ptr (int *)malloc(5 * sizeof(int));free(ptr);return 0;
}9. void *malloc(size_t size)
分配所需的内存空间并返回一个指向它的指针。
#include stdlib.hint main() {int *ptr;ptr (int *)malloc(5 * sizeof(int));free(ptr);return 0;
}10. void *realloc(void *ptr, size_t size)
尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
#include stdlib.hint main() {int *ptr;ptr (int *)malloc(5 * sizeof(int));ptr (int *)realloc(ptr, 10 * sizeof(int));free(ptr);return 0;
}11. void abort(void)
使一个异常程序终止。
#include stdlib.hint main() {abort();return 0;
}12. int atexit(void (*func)(void))
当程序正常终止时调用指定的函数 func。
#include stdlib.h
#include stdio.hvoid cleanup_function() {printf(Exiting program...\n);
}int main() {atexit(cleanup_function);return 0;
}13. void exit(int status)
使程序正常终止。
#include stdlib.hint main() {exit(0);return 0;
}14. char *getenv(const char *name)
搜索 name 所指向的环境字符串并返回相关的值给字符串。
#include stdlib.h
#include stdio.hint main() {const char *value getenv(HOME);printf(Home directory: %s\n, value);return 0;
}15. int system(const char *string)
由 string 指定的命令传给要被命令处理器执行的主机环境。
#include stdlib.hint main() {system(ls -l);return 0;
}16. void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
执行二分查找。
#include stdlib.h
#include stdio.hint compare(const void *a, const void *b) {return (*(int *)a - *(int *)b);
}int main() {int values[] {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};int key 23;int *result (int *)bsearch(key, values, 10, sizeof(int), compare);if (result ! NULL)printf(Value %d found in the array.\n, *result);elseprintf(Value not found in the array.\n);return 0;
}17. void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
数组排序。
#include stdlib.h
#include stdio.hint compare(const void *a, const void *b) {return (*(int *)a - *(int *)b);
}int main() {int values[] {42, 10, 6, 88, 15};int n sizeof(values) / sizeof(values[0]);qsort(values, n, sizeof(int), compare);for (int i 0; i n; i) {printf(%d , values[i]);}printf(\n);return 0;
}18. int abs(int x)
返回 x 的绝对值。
#include stdlib.h
#include stdio.hint main() {int x -5;int abs_value abs(x);printf(The absolute value of %d is: %d\n, x, abs_value);return 0;
}19. div_t div(int numer, int denom)
分子除以分母。
#include stdlib.h
#include stdio.hint main() {div_t result div(10, 3);printf(Quotient: %d, Remainder: %d\n, result.quot, result.rem);return 0;
}20. long int labs(long int x)
返回 x 的绝对值。
#include stdlib.h
#include stdio.hint main() {long int x -123456;long int abs_value labs(x);printf(The absolute value of %ld is: %ld\n, x, abs_value);return 0;
}21. ldiv_t ldiv(long int numer, long int denom)
分子除以分母。
#include stdlib.h
#include stdio.hint main() {ldiv_t result ldiv(100, 25);printf(Quotient: %ld, Remainder: %ld\n, result.quot, result.rem);return 0;
}22. int rand(void)
返回一个范围在 0 到 RAND_MAX 之间的伪随机数。
#include stdlib.h
#include stdio.hint main() {int random_value rand();printf(Random value: %d\n, random_value);return 0;
}23. void srand(unsigned int seed)
该函数播种由函数 rand 使用的随机数发生器。
#include stdlib.h
#include stdio.h
#include time.hint main() {srand(time(NULL));int random_value rand();printf(Random value: %d\n, random_value);return 0;
}24. int mblen(const char *str, size_t n)
返回参数 str 所指向的多字节字符的长度。
#include stdlib.h
#include stdio.hint main() {const char *str A;int length mblen(str, MB_CUR_MAX);printf(Character length: %d\n, length);return 0;
}25. size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
把参数 str 所指向的多字节字符的字符串转换为参数 pwcs 所指向的数组。
#include stdlib.h
#include stdio.h
#include wchar.hint main() {const char *str AB;wchar_t pwcs[10];size_t result mbstowcs(pwcs, str, 10);wprintf(LConverted string: %ls\n, pwcs);printf(Number of wide characters: %zu\n, result);return 0;
}26. int mbtowc(wchar_t *pwc, const char *str, size_t n)
检查参数 str 所指向的多字节字符。
#include stdlib.h
#include stdio.h
#include wchar.hint main() {const char *str A;wchar_t pwc;int result mbtowc(pwc, str, MB_CUR_MAX);if (result 0) {wprintf(LCharacter: %lc\n, pwc);} else if (result 0) {printf(Null character detected.\n);} else {printf(Invalid multibyte character.\n);}return 0;
}27. size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
把数组 pwcs 中存储的编码转换为多字节字符并把它们存储在字符串 str 中。
#include stdlib.h
#include stdio.h
#include wchar.hint main() {const wchar_t pwcs[] {LA, LB, L\0};char str[10];size_t result wcstombs(str, pwcs, 10);printf(Converted string: %s\n, str);printf(Number of bytes: %zu\n, result);return 0;
}28. int wctomb(char *str, wchar_t wchar)
检查对应于参数 wchar 所给出的多字节字符的编码。
#include stdlib.h
#include stdio.h
#include wchar.hint main() {wchar_t wchar LA;char str[MB_CUR_MAX];int result wctomb(str, wchar);if (result 0) {printf(Multibyte character: %s\n, str);} else {printf(Invalid wide character.\n);}return 0;
}以上是 stdlib.h 中定义的所有函数的详细介绍和示例。该头文件提供了一系列有用的工具函数能够帮助程序员进行内存分配、随机数生成、字符串转换等操作。熟练掌握这些函数将对编程工作大有裨益。