C 在字符串变量中存储字符

C 在字符串变量中存储字符,c,C,我基本上是用c语言编写的。 我有一个指向字符的字符指针。有没有办法将字符指针指向的字符存储在字符串变量中?? 因为当我尝试使用“strcpy”这样做时,我得到了类型不匹配错误,因为我试图将字符作为字符串存储在字符串变量中 字符指针是我们在C中用于“字符串变量”的指针 在C语言中,字符串只是以字符\0结尾的字符数组。您可以使用指针指向的静态分配数组或动态分配数组strcpy接受这样一个指针 字符指针是我们在C中用于“字符串变量”的指针 在C语言中,字符串只是以字符\0结尾的字符数组。您可以使用指针

我基本上是用c语言编写的。 我有一个指向字符的字符指针。有没有办法将字符指针指向的字符存储在字符串变量中?? 因为当我尝试使用“strcpy”这样做时,我得到了类型不匹配错误,因为我试图将字符作为字符串存储在字符串变量中

字符指针是我们在C中用于“字符串变量”的指针

在C语言中,字符串只是以字符
\0
结尾的字符数组。您可以使用指针指向的静态分配数组或动态分配数组
strcpy
接受这样一个指针

字符指针是我们在C中用于“字符串变量”的指针


在C语言中,字符串只是以字符
\0
结尾的字符数组。您可以使用指针指向的静态分配数组或动态分配数组
strcpy
接受这样一个指针

您只需取消对指针的引用即可访问该字符。我假设你正在使用C++,如果你使用的是字符串< /Cord>类型。
char* c = "z";
string s;
s += *c;

您只需取消对指针的引用即可访问该字符。我假设你正在使用C++,如果你使用的是字符串< /Cord>类型。
char* c = "z";
string s;
s += *c;

假设您的字符指针被定义为

char *s;
你想把它做成一个字符串

char string[2];
string[0] = *s;
string[1] = '\0';
你已经准备好了


这将导致字符串具有自动存储持续时间。您可以根据需要选择将其设置为堆分配或全局范围。我想你已经知道了。

假设你指向字符的指针被定义为

char *s;
你想把它做成一个字符串

char string[2];
string[0] = *s;
string[1] = '\0';
你已经准备好了


这将导致字符串具有自动存储持续时间。您可以根据需要选择将其设置为堆分配或全局范围。我想你已经知道了。

你能分享一些代码吗?这将使问题更容易回答。请添加一个MCVE。C中没有“string”变量,只有
char*
,昵称为“strings”。因此,您必须重新表述“string”@snoopy的意思——C中没有
string
类型,但有字符串,它们在标准中定义为以null结尾的字符数组。并且显示代码而不是描述代码。您是否共享一些代码?这将使问题更容易回答。请添加一个MCVE。C中没有“string”变量,只有
char*
,昵称为“strings”。因此,您必须重新表述“string”@snoopy的意思——C中没有
string
类型,但有字符串,在标准中定义为以null结尾的字符数组。并且显示代码而不是描述编解码器,问题提到C。因为OP有C标记,他们可能正在使用
cs50.h
和那个讨厌的
typedef char*string
,在这种情况下
+=
将不起作用。C,问题提到了C。由于OP有C标记,他们可能正在使用
cs50.h
和那个讨厌的
typedef char*string
,在这种情况下,
+=
将不起作用。在C中,字符串不仅仅是字符数组,字符串是以null结尾的字符数组。在C中,字符串不仅仅是字符数组,字符串是以null结尾的字符数组。回答得好,但就我个人而言,我宁愿写
'\0'
以清晰明了并避免胁迫。回答得好,但就我个人而言,我宁愿写
'\0'
以清晰明了并避免胁迫。