例子:
类型提升
之所以不嫌麻烦地将其提升为更多大的类型,然后又直接把他们裁剪为原来的大小,是为了简化编译器的设计——所有的东西都是统一长度
补充:K&R C的函数声明与ANSI C的函数原型的对比
由上图可知,K&R C 中始终会进行类型提升,但在ANSI C中由于使用了新风格的函数声明即函数原型中带参数类型,编译器就会假定参数是准确声明的,于是在参数传递时不会进行类型提升。若不声明函数原型则会进行类型提升。
例子:
类型提升
之所以不嫌麻烦地将其提升为更多大的类型,然后又直接把他们裁剪为原来的大小,是为了简化编译器的设计——所有的东西都是统一长度
补充:K&R C的函数声明与ANSI C的函数原型的对比
由上图可知,K&R C 中始终会进行类型提升,但在ANSI C中由于使用了新风格的函数声明即函数原型中带参数类型,编译器就会假定参数是准确声明的,于是在参数传递时不会进行类型提升。若不声明函数原型则会进行类型提升。