簡體   English   中英

在C中查找字符串數組的長度

[英]Find length of array of strings in C

我有一個動態的c字符串數組

char **my_strings = (char**)malloc(50 * sizeof(char*));

我想找到它的實際長度(它實際包含多少個字符串)。 我怎樣才能做到這一點?

您無法分辨:跟蹤大小或使用魔術值(例如NULL)標記最終元素是您的工作。

請注意,c運行時可能會跟蹤分配的內存量,但這不會以任何可移植的方式展現給您。

使數組以NULL指針終止,然后執行以下操作:

size_t count = 0;
while (my_strings[count] != NULL) {
    ++count;
}

char *不是“字符串”:它是一個指針 字符串是數組,其元素之一為'\\0'

指針和數組不一樣!

檢查c-faq的第6節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM