APUE-习题

APUE中文第三版习题解答

Chapter1

1.1

1.2

可能是在两个打印程序执行间隙系统创建了两个进程

1.3

stderror是根据errno值返回相应的出错信息,不会将指向错误信息的字符串指针的指向修改,因此不需要const
perror接受的参数是字符串指针,就可能存在修改指向错误信息的字符串指针的指向,因此需要const参数限定其行为

1.4

32位有符号整数能存68年的时间,从1970年1月1日算起,2038年溢出

可以通过拓展存储长度(如从float提升为double)扩展浮点数

1.5

248天

Chapter2

2.1

1
2
3
4
#ifndef
#define
...
#endif

2.2

/usr/include/bits/types.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
/* Convenience types. */
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;

/* Fixed-size types, underlying types depend on word size and compiler. */
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
#if __WORDSIZE == 64
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
...

2.3

Chapter3