C 标准库 - <stdlib.h>学习笔记

简介

<stdlib.h> 是 C 标准库中的头文件之一,它包括了 C 语言程序设计所需要的一些基本函数,例如内存分配、进程控制等。这个头文件中的函数可以在 Unix 和 Windows 操作系统下进行编译和使用。

常用函数

malloc 和 free

这两个函数可以帮助我们动态地管理内存空间。

malloc() 函数用于在内存堆上分配一块指定大小的连续内存空间,如果分配成功,则返回分配到的内存地址;否则返回空指针 NULL。该函数的定义如下:

cCopy Code
void *malloc(size_t size);

free() 函数用于释放由 malloc()calloc() 函数分配的内存空间,防止内存泄漏。该函数的定义如下:

cCopy Code
void free(void *ptr);

下面是一个使用 malloc()free() 函数的例子:

cCopy Code
#include <stdio.h> #include <stdlib.h> int main() { int* ptr; int n = 5; // 动态分配内存空间 ptr = (int*)malloc(n * sizeof(int)); // 判断是否分配成功 if (ptr == NULL) { printf("Error: Failed to allocate memory"); exit(1); } // 分配成功,给数组赋值 for (int i = 0; i < n; i++) { ptr[i] = i + 1; } // 输出数组中的元素 for (int i = 0; i < n; i++) { printf("%d ", ptr[i]); } // 释放内存空间 free(ptr); return 0; }

system

system() 函数可以帮助我们在程序中调用系统命令。该函数的定义如下:

cCopy Code
int system(const char* command);

其中,command 参数是一个字符串,代表要执行的命令。该函数会将命令作为一个子进程来执行,并等待它的返回。

下面是一个使用 system() 函数的例子:

cCopy Code
#include <stdio.h> #include <stdlib.h> int main() { int ret; // 执行 dir 命令(Windows) ret = system("dir"); // 执行 ls 命令(Unix) // ret = system("ls"); if (ret == 0) { printf("Command executed successfully."); } else { printf("Command failed to execute."); } return 0; }

结论

本文介绍了 C 标准库中的 <stdlib.h> 头文件中的常用函数,并举出了实例,希望对读者学习 C 语言程序设计有所帮助。