Summary Day29

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)栈区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值