C 标准库 - <stdlib.h>学习笔记
简介
<stdlib.h>
是 C 标准库中的头文件之一,它包括了 C 语言程序设计所需要的一些基本函数,例如内存分配、进程控制等。这个头文件中的函数可以在 Unix 和 Windows 操作系统下进行编译和使用。
常用函数
malloc 和 free
这两个函数可以帮助我们动态地管理内存空间。
malloc()
函数用于在内存堆上分配一块指定大小的连续内存空间,如果分配成功,则返回分配到的内存地址;否则返回空指针 NULL。该函数的定义如下:
cCopy Codevoid *malloc(size_t size);
free()
函数用于释放由 malloc()
或 calloc()
函数分配的内存空间,防止内存泄漏。该函数的定义如下:
cCopy Codevoid 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 Codeint 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 语言程序设计有所帮助。