C++学习,标准库 <cstdlib>

<cstdlib> 是 C++ 标准库中的一个头文件,提供了各种通用工具函数,包括内存分配、进程控制、环境查询、排序和搜索、数学转换、伪随机数生成等。这些函数最初来自 C 标准库 <stdlib.h>,在 C++ 中进行了标准化和扩展。

  1. 字符串转换函数
    • calloc():分配指定数量和大小的内存空间,并将其初始化为0。
    • realloc():重新分配已分配内存的大小。
    • free():释放之前通过malloccalloc分配的内存空间。
  2. 系统调用和环境查询函数

    • system():在新进程中执行操作系统命令。
    • getenv():获取环境变量的值。
  3. 进程控制函数

    • exit():终止程序执行,并返回一个状态码。
    • abort():异常终止一个进程。
  4. 数学函数

    • abs():计算整数的绝对值。
    • labs():计算长整数的绝对值。
    • div() 和 ldiv():分别用于计算两个整数和两个长整数的商和余数。
  5. 搜索和排序函数

    • bsearch():在已排序的数组中搜索指定元素。
    • qsort():对数组进行快速排序。
    • EXIT_SUCCESS 和 EXIT_FAILURE:分别表示程序正常终止和非正常终止的返回值。
    • NULL:表示一个空指针。
    • RAND_MAX:表示rand()函数生成的最大可能值。

示例:

#include <iostream>
#include <cstdlib>  
#include <ctime>    
int main() {  
    // 设置随机数生成器的种子为当前时间  
    srand((unsigned)time(NULL));  
  
    // 生成一个随机数并打印  
    int randomNumber = rand() % 100;  
    std::cout << "Random Number: " << randomNumber << std::endl;  
  
    // 动态分配内存并初始化  
    int* array = (int*)malloc(10 * sizeof(int));  
    if (array == NULL) {  
        std::cerr << "Memory allocation failed." << std::endl;  
        return 1;  
    }  
    for (int i = 0; i < 10; ++i) {  
        array[i] = i * i;  
    }  
  
    // 打印数组元素  
    for (int i = 0; i < 10; ++i) {  
        std::cout << "Element " << i << ": " << array[i] << std::endl;  
    }  
  
    // 释放内存  
    free(array);  
  
    // 正常终止程序  
    return 0;  
}

猜你喜欢

转载自blog.csdn.net/xuann/article/details/143276406