sizeof(char*)是做什么的? 我正在阅读C++的底片,这个代码片段出现了,我想知道sisiof(char)做什么,为什么它如此重要?< /P> char *words[] = {"stately", "plump", "buck", "mulligan"}; // calculate how many elements in words size_t words_size = sizeof(words)/sizeof(char *); // use entire array to initialize words2 list<string> words2(words, words + words_size); char*words[]={“庄严”、“丰满”、“雄鹿”、“穆利根”}; //计算单词中有多少元素 size\u t words\u size=sizeof(words)/sizeof(char*); //使用整个数组初始化单词2 列出单词2(单词、单词+单词大小);

sizeof(char*)是做什么的? 我正在阅读C++的底片,这个代码片段出现了,我想知道sisiof(char)做什么,为什么它如此重要?< /P> char *words[] = {"stately", "plump", "buck", "mulligan"}; // calculate how many elements in words size_t words_size = sizeof(words)/sizeof(char *); // use entire array to initialize words2 list<string> words2(words, words + words_size); char*words[]={“庄严”、“丰满”、“雄鹿”、“穆利根”}; //计算单词中有多少元素 size\u t words\u size=sizeof(words)/sizeof(char*); //使用整个数组初始化单词2 列出单词2(单词、单词+单词大小);,c++,C++,提前感谢。因为否则您将获得Word数组占用的字节数,而不是元素数(字符指针在英特尔体系结构上为4或8字节)sizeof(char*)返回系统的指针大小。sizeof(words)返回数组中的字节数。由于数组中的每个元素都是sizeof(char*)big,因此元素的数量是每个元素的字节数/字节数,因此sizeof(words)/sizeof(char*)感谢您的快速回答,我认为sizeof返回的是元素数而不是字节数。在某些英特尔体系结构上,也可以使用2字节指针。

提前感谢。

因为否则您将获得Word数组占用的字节数,而不是元素数(字符指针在英特尔体系结构上为4或8字节)

sizeof(char*)
返回系统的指针大小。sizeof(words)返回数组中的字节数。由于数组中的每个元素都是
sizeof(char*)
big,因此元素的数量是每个元素的字节数/字节数,因此
sizeof(words)/sizeof(char*)

感谢您的快速回答,我认为sizeof返回的是元素数而不是字节数。在某些英特尔体系结构上,也可以使用2字节指针。