(122条消息) 关于:char (*p)[10] 、char p[10]和char *p[10]的讨论_浩然42的博客-CSDN博客
typedef struct
{
int index_num;
char (**p)[16];
}dig_cmd_t;
void free_array_memory(dig_cmd_t *cmd)
{
for(int i = 0; i < cmd->index_num; i++)
{
free(*(cmd->p + i));
}
free(cmd->p);
}
int main(void)
{
dig_cmd_t cmd;
char buff[32] = {0};
cmd.index_num = 3;
cmd.p = calloc(3, sizeof(char *));
for(int i = 0; i < 3; i++)
{
memset(buff, 0, sizeof(buff));
*(cmd.p + i) = calloc(16, sizeof(char));
snprintf(buff, sizeof(buff), "seq %d", i);
memcpy(*(cmd.p + i), buff, strlen(buff));
printf( "i: %d, str: %s\n", i, **(cmd.p + i));
}
free_array_memory(&cmd);
char (*p)[12];
char a[12];
strcpy(a,"hello,world");
p=&a;
printf("p=%s\n ""the second char in p is %c\n",*p,(*p)[1]);
return 0;
}