g****e 发帖数: 172 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: gangle (nothing), 信区: JobHunting
标 题: 为什么要这样计算数中元素的个数?
发信站: BBS 未名空间站 (Tue Jun 19 11:06:22 2012, 美东)
char *words[] = {"stately", "plump", "buck", "mulligan"};
// calculate how many elements in words
size_t words_size = sizeof(words)/sizeof(char *);
为什么不是直接 size_t words_size = sizeof(words)? | t****t 发帖数: 6806 | 2 为什么你不试试看呢
【在 g****e 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: gangle (nothing), 信区: JobHunting : 标 题: 为什么要这样计算数中元素的个数? : 发信站: BBS 未名空间站 (Tue Jun 19 11:06:22 2012, 美东) : char *words[] = {"stately", "plump", "buck", "mulligan"}; : // calculate how many elements in words : size_t words_size = sizeof(words)/sizeof(char *); : 为什么不是直接 size_t words_size = sizeof(words)?
| l********a 发帖数: 1154 | 3 words是个指针,指向一个指针数组,sizeof出来是指针数组的长度
再除以每个指针的长度,就是数组元素的个数了
只有[]定义的数组才能求长度吧?要是words被定义成char **words这种,就不能sizeof
求出长度了.不知道对不对 |
|