摘要:
对于编译器而言,一个数组就是一个地址,一个指针就是一个地址的地址。什么时候数组和指针是相同的:1、表达式中的数组名(与声明不同)被编译器当作一个指向该数组第一个元素的指针(在表达式中,指针和数组是可以互换的,因为它们在编译器里的最终形式都是指针,并且都可以去下标操作.例对数组的引用如a[i]在编译时总是被编译器改写成*(a+i)的形式);2、下标总是与指针的偏移量相同;3、在函数参数的声明中,数组名被编译器当作指向该数组第一个元素的指针。另外,对第一点的解释:存在几个极少见的例外,就是把数组当作一个整体来使用。如下列情况:1、数组作为sizeof的操作数-显然 此时需要的是整个数组的大小,而不 阅读全文