[英]C sizeof char* array
我有一個char*
數組,如下所示:
char *tbl[] = { "1", "2", "3" };
如何使用sizeof
運算符獲取數組元素的數量(此處為3)?
下面的工作,但正確嗎?
int n = sizeof(tbl) / sizeof(tbl[0])
是,
size_t n = sizeof(tbl) / sizeof(tbl[0])
是最典型的方法。
請注意,將int
用於數組大小不是最好的主意。
較短且可以說較干凈的版本看起來像
sizeof tbl / sizeof *tbl
:)
是的,它將為您提供數組tb1中的元素數量。
int n = sizeof(tbl) / sizeof(tbl[0])
解釋:
sizeof(tb1)將給出整個數組的大小,即tb1 = 3個字節
sizeof(tb1 [0])給出字符的大小,因為tb1 [0]給出字符值(地址tb1 + 0處的值)= 1字節
將這兩個部分相除會給您3個元素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.