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;
}