Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何(有效地)在C语言中实现多位字符变量_C_String_Char_Cs50 - Fatal编程技术网

如何(有效地)在C语言中实现多位字符变量

如何(有效地)在C语言中实现多位字符变量,c,string,char,cs50,C,String,Char,Cs50,我想将变量(两个空格)存储在C中 在C语言中似乎没有字符串数据类型,因此如何在不创建string s=get_string函数的情况下存储这样的值呢?C语言中的字符串是以字符数组的形式构建的 就你而言: charc[]=”C编程中的字符串被构建为字符数组 就你而言: charc[]=”一些实现可能会定义一个WCHAR\u T类型,这是一个短的(2字节),并且会有许多c字符串函数的宽字符串版本(比如wcscmp用于strcmp),这些函数采用WCHAR\u T*而不是char*一些实现可能会定义一

我想将变量
(两个空格)存储在C中


在C语言中似乎没有字符串数据类型,因此如何在不创建
string s=get_string
函数的情况下存储这样的值呢?

C语言中的字符串是以字符数组的形式构建的

就你而言:
charc[]=”

C编程中的字符串被构建为字符数组

就你而言:
charc[]=”

一些实现可能会定义一个
WCHAR\u T
类型,这是一个
短的
(2字节),并且会有许多c字符串函数的宽字符串版本(比如
wcscmp
用于
strcmp

),这些函数采用WCHAR\u T*而不是char*

一些实现可能会定义一个
WCHAR\u T
类型,这是一个
short
(2字节),许多c字符串函数(如
wcscmp
for
strcmp
)都有宽字符串版本,它们采用WCHAR_T*而不是char*

char two_spc[2]=”谢谢@BLUEPIXY
char two_spc[2]=“”谢谢@bluepixy以上答案就足够了。我通常对C‘strings’所做的是创建一个char缓冲区并将其粘贴到结构中。我这样做是因为结构可以相互分配,也可以从函数中很好地传递和返回。您仍然需要使用sprintf来正确填充它,并且您需要确保不编写边界(我现在说得太多了)。除非您完全掌握所做的事情,否则这通常不是最好的主意。为什么?因为很多人会对他们是在复制地址还是它指向的数据感到困惑。谢谢@yoones!以上答案已足够。我通常对C‘strings’所做的是创建一个char缓冲区并将其粘贴到结构中。我这样做是因为结构可以相互分配,也可以从函数中很好地传递和返回。您仍然需要使用sprintf来正确填充它,并且您需要确保不编写边界(我现在说得太多了)。除非您完全掌握所做的事情,否则这通常不是最好的主意。为什么?因为很多人会对他们是在复制地址还是它指向的数据感到困惑。谢谢@yoones<代码>wchar\u t
是C标准所要求的;虽然有些平台使用16位,有些32位的
wchar\u t
是C标准所要求的;虽然有些平台使用16位和32位