#include <iostream>
using namespace std;
int main()
{
char a[] = "123456";
cout << sizeof(a) << endl;
return 0;
}
这个统计的是字符串 “123456” 的长度,为7个,因为字符串后面默认有个/0字符。
#include <iostream>
using namespace std;
void f(char a[]);
int main()
{
char a[] = "123456";
f(a);
return 0;
}
void f(char a[])
{
cout << sizeof(a) << endl;
}
这个当用函数调用的时候,f(char a[])传递的并不是数组a的全部,而是一个指针,它指向该数组。
由于它本身就是一个指针,那么当用sizeof取大小时,就计算的是指针的大小,指针用32位字节表示,
也就是4个字节。
using namespace std;
int main()
{
char a[] = "123456";
cout << sizeof(a) << endl;
return 0;
}
这个统计的是字符串 “123456” 的长度,为7个,因为字符串后面默认有个/0字符。
#include <iostream>
using namespace std;
void f(char a[]);
int main()
{
char a[] = "123456";
f(a);
return 0;
}
void f(char a[])
{
cout << sizeof(a) << endl;
}
这个当用函数调用的时候,f(char a[])传递的并不是数组a的全部,而是一个指针,它指向该数组。
由于它本身就是一个指针,那么当用sizeof取大小时,就计算的是指针的大小,指针用32位字节表示,
也就是4个字节。