摘要:
什么时候数组和指针相同?(分声明和使用2类情况)1. 声明:所有作为函数参数的数组名总是通过编译器转换为指针,在其他所有情况下,数组的声明就是数组,指针的声明就是指针,两者不能混淆。2. 使用:在语句或表达式引用中,数组总是可以写成指针的形式,两者可以互换。对编译器而言,一个数组就是一个地址,而一个指针是一个地址的地址。?ANSI C中相关规定:1. 表达式中的数组名(与声明不同)被编译... 阅读全文
摘要:
printf(" %d",sizeof'A');输出的结果是4,而不是字符的长度1,因为它根据类型提升规则把char->int,因此结果自然为4了。在K&R中,在表达式里,每个char都被转换为int,float被转换为double,由于函数参数也是一个表达式,所以当参数传递给函数时也会发生类型转换。但在ANSI C中,有个例子:float f1, f2;double d;f1 = f2*d;如... 阅读全文