Char不在C中的多维数组中工作.需要澄清

Char不在C中的多维数组中工作.需要澄清,第1张

概述我试图为多种数据类型创建一个2d数组,但它似乎不接受char数据类型.为什么是这样? struct {union { int ival; float fval; char cval[50];} val;} as[120][4];as[0][1].val.cval = "Testtttt"; ***This does not work***as[1][1].v 我试图为多种数据类型创建一个2d数组,但它似乎不接受char数据类型.为什么是这样?

struct {union {    int ival;    float fval;    char cval[50];} val;} as[120][4];as[0][1].val.cval = "Testtttt";  ***This does not work***as[1][1].val.ival = 3;  ***This works***
解决方法 您在 c,因此在字符串处理方面您应该使用 string.h!

改变这个:

as[0][1].val.cval = "Testtttt";

对此:

strcpy(as[0][1].val.cval,"Testtttt");

通过使用strcpy()而不是赋值运算符(这将在c++中工作,而不是在c中).

当然,存在替代功能,例如strncpy() *和memcpy().

此外,由于C字符串处理对您来说似乎很新,您必须阅读约null terminated strings in C.

*致@fukanchik的人提醒我

总结

以上是内存溢出为你收集整理的Char不在C中的多维数组中工作.需要澄清全部内容,希望文章能够帮你解决Char不在C中的多维数组中工作.需要澄清所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1218413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存