牛骨文教育服务平台(让学习变的简单)
博文笔记

c语言三维数组怎么用的?

创建时间:2017-03-18 投稿人: 浏览次数:545

点击打开链接


c语言三维数组怎么用的?

有一些数据想保存,形式类似这样:
“abc” "123" "abc123"
"ABC" "123" "ABC123"
……
就一共是一百行,每一行有三列,每一列中的数据是一个char型的字符串。
这种形式的数据C语言应该怎么保存,是用三维数组吗?对于三维数组没什么概念,能不能稍微解释下。 添加评论  分享 按时间排序默认排序

2 个回答

马叉虫 喝一辈子拿铁,码一辈子代码 我可能不会用三维数组而是结构体来解决这个问题,代码如下,有什么问题请补充!
#include <stdio.h>
#include <string.h>
struct arr
{
	char arrEnglish;
	char arrNumber;
	char rusult;
};
int main(void)
{
	struct arr a[100];
	int arrCount;
	for (arrCount = 0; arrCount < 100; arrCount++)
	{
		printf("请输入英文字母
");
		scanf("%c", (a+arrCount)->arrEnglish);
		printf("请输入数字
");
		scanf("%c", (a+arrCount)->arrNumber);
		(a + arrCount)->rusult = *(strcpy(&(a + arrCount)->arrEnglish, &(a + arrCount)->arrNumber));
	}
	for (arrCount = 0; arrCount < 100; arrCount++)
	{
		printf("%c	%c	%c	", 
			(a + arrCount)->arrEnglish, 
			(a + arrCount)->arrNumber, 
			(a + arrCount)->rusult);
		printf("
");
	}
	return 0;
发布于 2016-09-24 1 条评论 感谢  分享  收藏 • 没有帮助 • 举报 • 作者保留权利 周成 此人很懒,什么都没留下
char ***table;
table = new char**[11];
memset(table, 0, sizeof(char**) * 11);
for (int row = 0; row < 10; ++row)
{
    table[row] = new char*[11];
    memset(table[row], 0, sizeof(char*) * 11);
    for (int col = 0; col < 10; ++col)
    {
        table[row][col] = new char[11];
        memset(table[row][col], 0, sizeof(char) * 11);
        for (int index = 0; index < 10; ++index)
        {
            table[row][col][index] = "A" + index;
        }
    }
}

int i = 1;

for (int row = 0; row < 10; ++row)
{
    for (int col = 0; col < 10;++col)
    {
        printf("%d.%s
", i++, table[row][col]);
    }
}
发布于 2016-09-18 添加评论 感谢  分享  收藏 • 没有帮助 • 举报 • 作者保留权利

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。