如何(有效地)在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
forstrcmp
)都有宽字符串版本,它们采用WCHAR_T*而不是char*char two_spc[2]=”代码>谢谢@BLUEPIXYchar 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位