c - C: 是否可以将 char 数组中的某些元素合并/分组,使其成为字符串数组?
问题描述
我在 C 中有一个字符数组:
Array = {'7', '.', '8', '*', '3', '-', '4', '.', '5', '6', '+', '1', '0'}
上面是一个数学方程7.8 * 3 - 4.56 + 1
,我将每个字符存储为数组中的单个元素。
我正在尝试更改数组,以便十进制数是一个元素。因此,数组应如下所示:
Array = {'7.8', '*', '3', '-', '4.56', '+', '1'}
如果有人能告诉我如何清楚地做到这一点,我将不胜感激,因为我是初学者。
我是 C 的新手,所以如果这个问题不完全有意义,我深表歉意。提前感谢您的帮助!
解决方案
如果我理解正确,您只想:
const char *array[] = { "7.8", "*", "3", "-", "4.56", "+", "1"};
// well, short usage example:
for (size_t i = 0; i < sizeof(array)/sizeof(*array); ++i) {
printf("array[%zu] = %s\n", i, array[i]);
}
array
是一个指向常量字符的指针数组。该数组的每个元素都是一个字符串文字。字符串文字在 C 中是不可变的,因此它必须是指向const
字符的指针(您可以删除const
,它仅适用于编译器。修改字符串文字的内存是未定义的行为)。
推荐阅读
- python - 在 DJANGO 中的页面之间发送表单信息
- python - NLTK - 将布朗语料库作为一个文件访问
- arrays - 具有维度 MxN 的字段的 MATLAB 结构数组是否与 NxM 相同?
- r - 动画比例参数
- javascript - DiscordAPIError:无法编辑由其他用户创作的消息
- css - Bootstrap 4:连续列之间的排水沟
- html - 缩小元素以适应 div
- android - 应用程序随机崩溃,没有给出任何错误,也没有抛出系统 ui 错误
- python - 如何将文件中的前几行元素转换为二维数组
- python - Bert Tokenizer add_token 功能无法正常工作