#include <iostream.h>
void fun(char []);
void main()
{
char a[]={65,66,67,68,69,70,71,72};
cout<<sizeof(a)<<endl;
cout<<a<<endl;
fun(a);
}
void fun(char b[])
{
cout<<sizeof(b)<<endl;
cout<<b<<endl;
}
结果:
8
ABCDEFGH?(还有一个键盘上没有的字符,一共10个)
4
ABCDEFGH?(和上面一样)
为什么一个8一个4?a和b不是一样的吗?
b是数组的起始地址,a不也是数组的起始地址吗?a是数组名,同时它也是地址啊。a和b指向同一内存地址啊。为什么sizeof(a)就不是4了?