【发布时间】:2020-10-12 16:46:12
【问题描述】:
我有一个 char* 的二维数组,如下所示:
char *rows[][4] = {
{"A1","A2","A3"},
{"B1","B2","B3"}
};
然后我想改变这个数组中的一个字符。以我有限的经验,我会这样做:
rows[0][0][0] = 'G';
我预计“A1”会更改为“G1”。相反,我得到了 Seg 错误。 我该怎么做?
【问题讨论】:
-
你有一个 pointers 指向字符串字面量的数组,它们是只读的。您正在尝试将
'G'写入其中一个字符串。您可以将数组元素更改为指向 不同的 字符串,例如rows[0][0] = "G1";
标签: c multidimensional-array declaration c-strings string-literals