UNIX环境高级编程 第一章 习题

2

分析图1-6的程序,说明ID位852 853的 进程发生了什么情况

图1.6的程序是

printf("hello world from the process ID %Id\n",(long) getpid());

执行后打印出来的进程号是851 854.但是明明是连续执行的,为什么PID不连续呢?
其实不复杂,就是UNIX在851创建之后到854创建之前又创建了两个进程罢了。

3

顺便复习一下指针常量(const在*的后边)和常量指针(指向常量的指针,const在 * 的左边)

  • 指针常量:指针的值不能变,一只能指向初始化的那一块内存空间
  • 常量指针:因为是指向常量的指针,所以指向的那一块内存空间是不能更改的

本题perror的参数是一个常量指针,如果不使用常量指针的话,msg就可能被修改。但是strerror的参数是作为拷贝传入的,即使修改也不影响原先的值。

4

2 31 / 60 / 60 / 24 / 365 ≈ 68 2^{31}/60/60/24/365\approx68 231/60/60/24/36568 所以说到1970+68=2038年会溢出.最好的方法就是趁早用64位的整形数去替换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值