开发者社区> 问答> 正文

如何在C中创建字符串数组?

我正在尝试在C中创建字符串数组。如果使用此代码:

char (*a[2])[14]; a[0]="blah"; a[1]="hmm"; gcc给我“警告:来自不兼容指针类型的赋值”。正确的方法是什么?

编辑:我很好奇为什么这应该给编译器警告,因为如果我这样做printf(a[1]);,它将正确打印“ hmm”。

展开
收起
保持可爱mmm 2020-01-16 15:32:21 534 0
1 条回答
写回答
取消 提交回答
  • 如果您不想更改字符串,则只需执行

    const char *a[2]; a[0] = "blah"; a[1] = "hmm"; 当您这样做时,将为分配两个指针的数组const char。然后,将这些指针设置为静态字符串"blah"和的地址"hmm"。

    如果您确实希望能够更改实际的字符串内容,则必须执行以下操作

    char a[2][14]; strcpy(a[0], "blah"); strcpy(a[1], "hmm"); 这将分配两个连续的数组,char每个数组14 s,之后将静态字符串的内容复制到其中。 问题来源于stack overflow

    2020-01-16 15:32:34
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载