HWM 哪里来那么大火气,你总不能硬把别人编译通过的、得到正确结果的程序说成是没有道理的吧。 21楼的程序没错!
咱们这样自学C的人总不会瞪着眼睛说ANSI C/K&R C的解释不合理吧?请看完《实用C语言详解》再来发火:
P4“按值传递参数” 与Pascal等语言不同,在C语言中决定参数传递方式的因素不是参数说明形式,而是参数的类型。以下类型的参数所对应的变元只能通过按值传递方式传递给被调用函数: (不用我解释这里什么叫按值传递方式吧。与其对应的是按引用方式传递。什么样的类型能够按值传递?什么样的类型“只能”按引用方式传递?能详细给我讲讲么?) * 整数类型 * 字符/浮点/枚举/指针/联合 类型 * 结构类型 -----------(结构是什么娘养的类型?)
结构“是小娘养的,它在C里原本就没有做类型的资格,非得要加个typedef才能登堂入室。只是在C++中才沾了类的光给转正了。”? 请教学长,对照 char A,B; // A,B定义为char变量 有 struct {int a[10]}A,B; // A、B算不算结构类型变量?它通过typedef 小娘说明了吗?它们不能登堂入室? (我还真不知道从哪一年开始以前不允许这样写。又从那一年开始转正可以了。)
别把typedef struct{int a[10]}A,B; 和 struct{int a[10]}A,B; 两者搞混了。意思完全不同,相差甚远。
注意这是1994年 ANSI C语言《C详解》,你一定要跟我谈1994年甚至1986年以前的什么什么来堵我的嘴,有失学长风范了吧。
|