1.常用变量
EXIT_SUCCESS //指示程序执行的执行状态
EXIT_FAILURE //指示程序执行的执行状态
RAND_MAX //rand()生成的最大值
size_t //sizeof运算符返回的无符号整数类型
2.常用操作
void* malloc( size_t size );//分配size大小的内存,单位是B,结果需要进行强制类型转换
void* calloc( std::size_t num, std::size_t size );//分配num * size大小的内存,并将每个bit初始化为0
void* realloc( void* ptr, size_t new_size );//在ptr处重新分配new_size大小的内存,之前存储块中的内容会被复制到新存储块中
void free( void* ptr );//释放ptr指向的内存
double atof( const char *str );//将字符串转换成double
int atoi( const char *str );//将字符串转换成int
long atol( const char *str );//将字符串转换成long
long long atoll( const char *str );//将字符串转换成long long
int rand();//返回一个[0, RAND_MAX],之间的值,RAND_MAX是定义好的宏变量,多次执行返回的值不变
void srand( unsigned seed );//产生seed,如使用当前时间srand(time(0)),配合rand()使用,多次执行返回的值不同
int abs( int n );//返回绝对值
long abs( long n );//返回绝对值
long long abs( long long n );//返回绝对值
long labs( long n );//返回绝对值
long long llabs( long long n );//返回绝对值
void abort();//终止程序,非正常退出
void exit( int exit_code );//终止程序,正常退出
int system( const char* command );//执行命令,常是bash脚本命令
char* getenv( const char* env_var );//获取环境变量
3.不常用操作
long strtol( const char *str, char **str_end, int base );//转换方式非常复杂,不如使用stol
long long strtoll( const char *str, char **str_end, int base );
void qsort( void *ptr, size_t count, size_t size, /*compare-pred*/* comp );//感觉很麻烦,先记录下来,看有没有替代品
void* bsearch( const void* key, const void* ptr, size_t count, size_t size, /*compare-pred*/* comp );//在ptr中二分查找第一个出现key的
void* aligned_alloc( size_t alignment, size_t size );//分配对齐的内存,size大小,alignment对其