c语言如何给一个大数组赋初值?

我这里有一个很大的数组需要给定初值 大致是:
char m_instruments[129, 11]={........}; 这种 大到文件编辑器出现格式错误(后面的数据和前面的对齐出错,请问有没有其他方式表达大的数据块

恩上面写错了 应该是[129][11]

有3种方法。
1.
将数据保存到文件中,再直接从文件读取。
2.
因为是二维字符数组,可以直接用字符串赋值,如:
char strs[2][11]=
{
"123456",
"asd"
};
3.
将所有数据定义成宏,再赋值,如:
#define data { \
{'a','b','c'}, \
{'a','1',b','c','5'} \
}
char str[2][11]=data;追问

是一个ASM文件抄过来的表 存到文件和翻译成字符串都不是理想办法

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-24

才1k多有多大。。按标准的语法来就行了。1M的数据都不会报错的。最多提示你这种该使用堆内存来存储。至于其它方式,也不过是自己写parse,读文件之类的。


看到这个问题的题目,我还以为是要32位程序处理4GB以上的数据 。结果如此低级。。。

第2个回答  2020-03-17
char m_instruments[129][11];
memset(m_instruments,NULL,sizeof(m_instruments));
第3个回答  2020-03-16
应该是:
char m_instruments[129][11]={"book","pencil","box","milk",......};
或:
char m_instruments[129][11]={0};
第4个回答  2020-03-17
这数据量不算大吧,
有什么理由要这样写吗,为什么不读文件呢