C语言中如何初始化多维Char数组?我正在尝试将一些代码从C#转换为C,以便将其刻录到微控制器上。有人可以告诉我如何将C#中的二维字符串数组转换为C中的内容吗?我的C#代码如下所示:string[,]DirectionPosition={{"00","10","","01",""},{"01","11","","02","00"},{"02","12","","03","01"},{"03","13","","04","02"},{"04","14","","","03"},{"10","20","00","11",""},{"11","21","01","12","10"},{"12","22","02","13","11"},....{"44","","34","","43"},};而且,我将如何访问该元素?在C#中,如果我想要第三行的第二个元素,它只是DirectionPosition[2,1],但是当C中没有字符串时,一个更少的二维字符串数组是什么?charDirectionPosition[][5][3]={{"00","10","","01",""},{"01","11","","02","00"},{"02","12","","03","01"},{"03","13","","04","02"},{"04","14","","","03"},{"10","20","00","11",""},{"11","21","01","12","10"},{"12","22","02","13","11"},....{"44","","34","","43"},};C没有内置的字符串类,你必须使用字符数组。您还可以使用指向char的指针。最简单的方法是像这样使用字符指针:char*DirectionPosition[9][5]={{"00","10","","01",""},{"01","11","","02","00"},{"02","12","","03","01"},{"03","13","","04","02"},{"04","14","","","03"},{"10","20","00","11",""},{"11","21","01","12","10"},{"12","22","02","13","11"},{"44","","34","","43"}};第一行中的元素“10”被引用为DirectionPosition[0][1](从零开始,第一个索引是行,第二个是列)。我建议确定字符串的最大长度和每行的最大字符串数,并告诉编译器,例如:typedefcharstring[3];typedef字符串s5[5];s5DirectionPosition[]={{"00","10","","01",""},{"01","11","","02","00"},{"02","12","","03","01"},{"03","13","","04","02"},{"04","14","","","03"},{"10","20","00","11",""},{"11","21","01","12","10"},{"12","22","02","13","11"},{"44","","34","","43"},};现在DirectionPosition[2][1]&c将允许您访问特定的字符串。有一个稍微简单一点的方法,不需要所有额外的括号:以上是C#学习教程:HowtoinitializeamultidimensionalChararrayinC?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——#includeintmain(intargc,char**argv){charDirectionPosition[][5][3]={"00","10","","01","","01","11","","02","00","02","12","","03","01","03","13","","04","02","04","14","","","03","10","20","00","11","","11","21","01","12","10","12","22","02","13","11","44","","34","","43"};printf("dp[1][1]==%sn",DirectionPosition[1][1]);printf("dp[1][2]==%sn",DirectionPosition[1][2]);printf("dp[1][3]==%sn",DirectionPosition[1][3]);返回;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
