我可以将字符串存储在长度为1的char数组中吗

标签 c

我是一名熟悉 Java 的程序员。但我很难掌握 C 的一些概念。

我在网上发现了一些 C 代码,它在长度为 1 的 char 数组中存储了一个字符串。

char a[0] = 'abcd';

在Java中。这是根本不可能的。但是有人可以告诉我这在 C 中是否可能吗?

如果是,请简要说明。

在java中,如果我需要存储字符串数组,我会这样做

String[] a = new String[1]; a[0] = "text";

现在,我需要在 C 中执行同样的操作,数组大小为 1。

最佳答案

您可以将字符串存储在长度为 1 的 char 数组中,但它必须为空:

char a[1] = "";

终止空字符是唯一可以存储的内容。

如果你想用 C 语言做一个字符串数组,那么这样做:

char *a[1]; a[0] = "text";

关于我可以将字符串存储在长度为1的char数组中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56812604/

相关文章:

c - 在 C 中将矩阵作为参数传递不起作用

c++ - 有人对 SSEPlus 有任何经验吗?

c - OpenGL ES 在 headless 嵌入式 Linux 平台中的使用

c - Makefile 每次编译

c - 接受用户输入的多字字符串并分配给 char 数组

c - 在链表开头插入节点

c - 如何将二维数组静态初始化为指向指针的指针?

c - 如何检测malloc失败?

c - 为什么通过引用传递时 C 中结构的大小会增加

如果我们必须将多个由空格组成的字符串作为输入,我们可以使用 scanf("%[^\n]s,str) 吗?