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 ", strlen(*ptr)); /**< 字符串数组中字符中的长度,不包含' ' */ for (i=0; i<strlen(*ptr); i++) { printf("**ptr = %c ", *((char *)(*ptr)+i)); /**< *((char *)(*ptr)+i) 遍历字符串数组 中 字符串 的 单个字符, (*ptr)指向字符串首地址,(char *)(*ptr)指向字符串中的第一个字符,((char *)(*ptr)+i)指向字符串中的字符 */ } } printf("count = %d ", count); return 0; }