c语言一维、二维及字符数组实验报告

时间:2024.4.1

学生实验报告

实验课名称: C语言

实验项目名称: 一维、二维及字符数组

专业名称:

班级:

学号:

学生姓名:

教师姓名:

         


实验日期:                  实验室名称:   明远2205                   


第二篇:C语言中二维字符数组


C语言中二维字符数组

C语言中二维字符数组的定义和初始化

一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来初始化它。比如说:

Code:

1.char testcase[30][MAX_LENGTH] = {"jo","vicent","tom","honey","gigi","lily","susan","peter","bob","ron",  

2.                            "jason","henry","kiki","ken","auscar","vivian","yiyi","peace","iron","lotus"  

3.                            "andy","arta","ophone","denial","pipe","wade","james","kobe","kent","angel"};  

通常使用二维字符数组是为了在程序中存储一些字符串关键字。用这样的方式来初始化就最简单不过了。其中,MAX_LENGTH是所有字符串中最大的长度。当然不能忘记'\0'了。

而定义一个字符二维数组,C也提供了简洁的方式,如果我不想统计字符串的长度,我还可以这样定义:

Code:

1.char *testcase[30] = {"jo","vicent","tom","honey","gigi","lily","susan","peter","bob","ron",  

2.                            "jason","henry","kiki","ken","auscar","vivian","yiyi","peace","iron","lotus"  

3.                            "andy","arta","ophone","denial","pipe","wade","james","kobe","kent","angel"};  

也就是说,可以不再数组定义的时候指定字符串的长度,但是注意字符串的个数是一定要指定的,像这样写 char **testcase = ... 是不行的,不过肯定不行了,因为int *pt=3 也不行,呵呵,这两个例子是一个道理啊。

我觉得肯定是人都喜欢第二种初始化方法了,而且它还有一个优点,起码对喜欢用指针的同志来说是一个大优点。就是可以将这样定义的指针赋给一个二维指针,比如

char **pointer = testcase;

想形式1的定义方法肯定不能这样赋值了。

不过非常非常值得注意的是,上面定义的两个指针,一个一维,一个二维,他们必须在const关键字上一致,意思就是说如果定义testcase前面加了const关键字,定义pointer时也必须加上,否则就会报错:

error C2440: 'initializing' : cannot convert from 'char *[30]' to 'const char **

在写这篇日志的过程中,我突然想到一个问题,就似乎利用上面的方法二初始化二维字符串数组之中,字符串是如何分布的呢?因为字符串的长度是不相等的,完全由编译器来计算,那么它是会按照最长的字符串来定制字符数组的长度,还是让每一个字符串数组都按照自身的大小来占据内存,靠'\0'来识别结尾呢?

二维字符串数组的初始化-动态内存分配

更多相关推荐:
C语言数组实验报告

C语言数组实验报告,内容附图。

C语言实验报告 数组

学生实验报告学院软件与通信工程学院课程名称C语言与程序设计专业班级通信121姓名学号学生实验报告4一实验综述1实验目的及要求1一维数组和二维数组的定义方法以及其元素的访问形式2用字符数组来处理字符串及字符串处理...

C语言数组实验报告

北京联合大学信息学院程序设计基础课程调研研究报告题目姓名学号专业计算机科学与技术编制时间20xx528版本指导教师北京联合大学信息学院编制数组实验程序设计报告20xx年5月28日班号姓名学号第一章实验情况概述本...

C语言试验报告-数组函数实验

学生实验报告实验课名称数组函数综合实验实验项目名称数组函数综合实验专业名称测控技术与仪器班学级20xx240801号20xx24080126学生姓名黄小龙教师姓名武雅丽月实验日期20xx年4月27日实验室名称数...

C语言程序设计实验报告(数组)

C语言程序设计实验报告数组1实验目的1熟练掌握一维数组二维数组的定义初始化和输入输出方法2熟练掌握字符数组和字符串函数的使用3掌握与数组有关的常用算法查找排序等2实验内容编写函数catStrcharstr1ch...

C语言实验报告数组

高级语言程序设计实验报告实验序号4实验项目名称数组题目3题目5附加2

C语言实验报告数组

实验报告实验课程名称高级C语言程序设计实验项目名称数组年级09级专业数学学生姓名李军学号0907010170理学院实验时间20xx年4月22日学生实验室守则一按教学安排准时到实验室上实验课不得迟到早退和旷课二进...

20xx级自动化C语言实验报告模板(高志荣)

院系计算机科学学院专业自动化年级20xx课程名称程序设计语言学号姓名指导教师高志荣胡梅芬年月日

《经典规范C语言程序设计》实验报告(第五章)

高级语言程序设计实验报告班级学号姓名成绩实验日期年月日实验题目实验五数组程序设计实验目的实验内容包括算法说明用文字或流程图说明程序清单运行结果原始数据相应的运行结果和必要的说明123分析与思考调试过程及调试中遇...

东北大学C语言实验报告——数组

C语言程序设计实验报告1实验目的1熟练掌握一维数组二维数组的定义初始化和输入输出方法2熟练掌握字符数组和字符串函数的使用3熟练与数组有关的常用算法如查找排序等2实验内容123设定一个整型数组存放20个元素采用直...

c语言程序设计实验报告(数组)

C语言程序设计实验报告专业计算机班级计算机卓工日期成绩实验组别第8次实验指导教师李开学生姓名徐钦振学号实验名称指针实验一实验目的1熟练掌握指针的使用赋值与使用2掌握用指针引用数组的元素熟练指向数组的指针的使用3...

10094097 C语言实验报告本(数组函数)

C语言程序设计实验报告20xx20xx学年第二学期专业过程装备与控制工程班级姓名过程095刘幸福学号10094097任课教师李昱瑾计算机教学实验中心20xx年5月C语言程序设计实验报告1学号10094097姓名...

c语言数组实验报告(37篇)