1. C语言的 错误处理
return 0;//程序正常结束
return -1;//程序异常结束
1.1 C语言通过返回值表示错误的形式,一般规则如下:
(1)如果函数的返回值类型是int类型,并且函数的返回值不可能是负数时,
则返回0表示正常结束,返回-1表示出错
(2)如果函数返回值类型int 类型,函数的返回值可能是负数时,
使用指针作为函数形参将函数的结果带回去,然后使用0表示正常结束,-1表示错误
(3)如果函数的返回值类型是指针类型,则返回NULL表示失败,其他值表示正常结束
(4)如果不考虑函数是否出错的情况,则返回值类型使用 void
1.2 C错误编号和错误信息
(1) 错误编号
如果函数调用失败,则会将错误原因设置到一个叫errno的全局变量中进行表示
#inlcude <errno.h>
errno 在共享库里声明的全局变量
(2)错误信息
a. strerror函数
#inlcude <string.h>
char* strerror(int errnum);
函数功能:主要用于根据参数指定的错误编号查找对应的错误信息
b . perror函数
#inlcude <stdio.h>
void perror(const char *s);
函数功能:主要用于函数调用最后一个错误信息打印出来,如果参数不为空,则将参数内容原因输出
然后跟着打印一个冒号和空格,在跟着错误信息以及换行
c. printf函数
printf("%m\n");
2. 环境表的概念和使用
2.1 基本概念
环境表主要是指环境变量集合,每个进程中独有一个环境表,
用于记录当前程序的环境变量的信息
环境变量采用字符指针数组的形式进行存储,然后使用全局变量char** envrion来记录环境表的首地址,
使用NULL表示环境表的末尾
2.2 相关函数
(1)getenv
函数功能:
主要用于根据参数的指定环境变量名进行查找,如果查找成功则返回对应的环境变量值,否则返回NULL
(2)setenv函数
int setev(const char* name, const *value, int overwrite);
第一个参数:环境变量名
第二个参数:环境变量值
第三个参数:是否修改的标志,非0 允许修改环境变量的值, 0表示不许修改环境变量值
函数功能:
主要用于修改/增加 环境变量
(3) putenv 函数
int putenv(char *string);
函数功能:
主要用于修改、增加环境变量,其中参数string的格式: name=value
(4) unsetenv函数
函数功能:
主要用于将参数name指定的环境变量从环境表中的删除,如果删除一个不存在的环境变量,则函数调用依然成功
只是环境表没有改变
(5)clearenv函数
函数功能: 主要用于情况环境表全部变量
2.3 main函数的原型
Int main(int argc, char* argv[], char* envp[])
第一个参数:命令行参数个数
第二个参数:指针数组,存储命令行参数地址
第三个参数: 指针数组,环境表首地址
3. 内存管理
3.1 进程和程序的概念
3.2 进程的内存区域划分
(1) 代码区
-存放功能代码,函数名所在的区域
(2)只读常理区
存放字符串常量,以及const修改的全局变量
(3)全局区、数据区
存放已经初始化的全局变量和static修饰的局部变量
(4)BSS段
(5)堆区
(6)栈区
原文地址:http://blog.csdn.net/c764785456/article/details/46352775