我相信Array1和Array2被声明不同,但它们都具有相同的类型 - char。 Array1和Array2似乎都包含相同的确切值和相同数量的值。我不明白为什么他们的长度彼此不同。有人可以解释为什么吗?C++比较两个相似阵列的长度
char Array1[ ] = { 1, 2, 3, 4, 5 };
char Array2[ ] = "\x01\x02\x03\x04\x05";
std::cout << "Length of Array1 = " << sizeof(Array1)/sizeof(*Array1)
<< std::endl
<< "Length of Array2 = " << sizeof(Array2)/sizeof(*Array2);
输出:
Length of Array1 = 5
Length of Array2 = 6
第二个数组使用字符串文字进行初始化,该文字末尾包含一个隐式的“\ 0”。 – sgarizvi 2013-02-27 11:51:47
/脸掌我不能相信我忘了! @ sgar91那么,这就解释了一切。 – CLearner 2013-02-27 11:52:49
@PlasmaHH如果他不问NT是什么可能会重复吗? =) – kassak 2013-02-27 11:53:25