预计阅读本页时间:-
A.12 第12章
1.自动存储类、寄存器存储类和静态空链接存储类。
2.静态空链接存储类、静态内部链接存储类和静态外部链接存储类。
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
3.静态外部链接存储类和静态内部链接存储类。
4.空链接。
5.在声明中使用关键字extern表明一个变量或函数己经在其他地方被定义过了。
6.都分配一个具有100个int值的数组。使用calloc()的语句还把每个元素设置为0。
7.daisy对main()是默认可见的,对petal()、stem()和root()是通过extern声明可见的。文件2中的声明extern int daisy;使得daisy对该文件中的所有函数可见。第一个lily是main()的局部变量。petal()中对lily的引用是错误的,因为两个文件中都没有lily的外部声明。有一个外部的静态lily,但是它只对第二个文件中的函数可见。第一个外部rose对root()可见,但是stem()使用它自己的局部rose覆盖了外部的rose。
8.输出如下:
9.a.它告诉我们程序将使用一个变量plink,该变量局部于包含该函数的文件。value_ct()的第一个参数是一个指向整数的指针,并假定它指向具有n个元素的数组的第一个元素。这里重要的一点是不允许程序使用指针arr来修改原始数组中的值。
b.不会。value和n已经是原始数据的拷贝,所以函数不能改变调用程序中的对应值。这样声明起到的作用只是防止在函数中改变value和n的值。例如,如果用const限定n,那么函数就不能使用n++表达式。