int main() { char *str_char[] = {"POrigin", "PModelNum", "PName", "PSN", "PDate", "PAddress", "PHWVer", "PSWVer", "PSWDate", "PSWTime", NULL};/**< 定義字符串數組, 為一個二維數組,這里的ULL為字符串數組結束標志*/ char i=0; char count=0; char **ptr = str_char; /**< 定義一個二重指針ptr,指向一個二維數組名str_char, *ptr指向字符串數組中的字符串, **ptr指向字符串數組中字符串中的字符 */ for (ptr=str_char; *ptr!=NULL; ptr++) /**< 循環直到字符串數組結束 */ { count++;/**< 字符串數組中字符串元素個數 */ printf("strlen(*ptr) = %d\n", strlen(*ptr)); /**< 字符串數組中字符中的長度,不包含'\0' */ for (i=0; i<strlen(*ptr); i++) { printf("**ptr = %c\n", *((char *)(*ptr)+i)); /**< *((char *)(*ptr)+i) 遍歷字符串數組 中 字符串 的 單個字符, (*ptr)指向字符串首地址,(char *)(*ptr)指向字符串中的第一個字符,((char *)(*ptr)+i)指向字符串中的字符 */ } } printf("count = %d\n", count); return 0; }
