0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C程序设计基础-数组与结构体

汽车电子技术 来源:滑小稽笔记 作者:滑小稽 2023-03-02 10:10 次阅读

1、数组,结构体和指针是C语言里面最难的部分,如果在编程中可以熟练的运用这三样工具,会大大地提高开发效率,简化程序结构,提成代码运行速度。

2、数组

(1)C语言中的数组分为一维数组和二维数组,数组其实就是在计算机的内存中给分配一块空间,这个空间根据数组的数据类型确定。

(2)一维数组:一维数组是最常用的形式,定义方式如下图所示。

图片

上面三种定义方法区别只是在给定初始值上,数组名是tab,数组类型是char,上面三种方式都是定义了一个字符型名字叫做tab的数组,数组长度12个字节,第一个数据地址为0,数组里面数据调用的方法如下图所示。

图片

这段程序的运行结果是在屏幕上打印出0这个数字。

(3)二维数组:二维数组用的地方不多,,定义方式如下图所示。

图片

上面三种方法都是定义二维数组的方式,都定义了一个2行7列的二维数组,数组名tab,数组类型char,第一个中括号里面指定行的位置,第二个中括号里面指定列的位置,第一个元素是tab[0][0],元素排列如下表所示。

0 1 2 3 4 5 6
7 8 9 10 11 12 13

数组里面数据调用的方法如下图所示。

图片

这段程序的运行结果是在屏幕上打印出9这个数字。

3、结构体

(1)结构体是由一批数据组合而成的一种新的数据类型。组成结构型数据的每个数据称为结构型数据的“成员”,举个学生信息的例子来说明结构体,一个学生信息最起码需要有性别,姓名,年龄,家庭住址这些信息,而这些信息的数据类型肯定是不一样的,比如年龄的数据类型一般就会用整型表示,但是性别,姓名这些就需要用字符串来表示(C语言中无法定义字符串变量,所以一般字符串变量就是用一维数组来实现),那么这个结构体就应该是:

struct 学生信息{

char姓名[3];

   int年龄;

};

(2)结构体的创建方式如下图所示。

图片

方法如

上面是三种创建结构体的方式,其中前两种创建的结构体名称就是Data1,里面有一个char类型的20个字节的数组num和一个整型的result。但是第三种方法,由于使用了typedef,这个关键字的意思是给新的结构体重新起一个名字,所以第三种方法实际是创建了一个新的Data类型的结构体,最后22行的Test才是这第三种方法创建的结构体的名字。

(2)结构体的引用:结构体上面已经创建好了,那么如何引用呢,结构体引用的时候一般都是结构体名称+”.”+元素名称,如下图所示。

下图所

图片

示。

注:无论结构体用那种方式定义,通常引用都是这种格式(有一种特殊情况)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7528

    浏览量

    128390
  • 编程
    +关注

    关注

    88

    文章

    3439

    浏览量

    92375
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25593
收藏 人收藏

    评论

    相关推荐

    C/ C++/ Java 程序设计经典教程》

    的原理[size=14.44444465637207px]强调结构化[size=14.44444465637207px]程序设计方法,追求程序的清晰优美,注重程序的性能和结果。●内容丰
    发表于 11-13 11:22

    请问结构数组怎么声明?

    试试typedefstruct node{ int date; int next;}linklist;话说哪位老司机解释下,结构数组怎么声明
    发表于 07-30 11:42

    c语言程序设计案例教程

    据类型和运算符、顺序程序设计、分支程序设计、循环结构数组等。学习C语言一定要知道它的利器——指针。这正是
    发表于 07-20 07:25

    Keil使用结构数组的奇怪问题相关资料下载

    今天用keil的时候发现一个很奇怪的点,是关于结构数组的。首先说明我的keil版本是:V5.28.0.0问题是这样的:我在a.h文件定义了一个结构
    发表于 11-30 06:47

    结构类型定义的一般格式

    C51程序设计有时需要将一批基本类型的数据放在一起使用,从而引入了所谓构造类型数据,前面学习的数据就是一种构造类型的数据,一个数组实际上是一批顺序存放的相同类型数据。结构
    发表于 12-08 07:13

    C程序设计实验指导书

    本书重点讲述了C语言程序设计以下几个方面的内容,包括顺序结构,选择结构,循环结构,数组,函数,指针以下
    发表于 06-21 09:38 0次下载

    C语言程序设计介绍

    包括:C 语言概述,算法基础,数据类型、运算符与表达式,顺序 结构程序设计,选择结构程序设计,循环结构
    发表于 02-17 15:49 0次下载

    多分支选择结构程序设计的思想与实现方法

    第二章为程序设计技术,本文为2.2.5 结构数组
    的头像 发表于 09-14 14:14 5727次阅读
    多分支选择<b class='flag-5'>结构</b><b class='flag-5'>程序设计</b>的思想与实现方法

    基于数组维度类型程序设计

    异构集群多层次异构存储的特点,决定了在其上进行计算时,数据需要进行更多维度的划分.现有集群程序设计语言缺乏对多维数组传输和转置的统一表示机制.介绍多维数组维度转置的表示方法和课题组实现的Parray
    发表于 01-19 15:19 0次下载

    C程序设计的详细中文资料免费下载

    本文档的主要内容详细介绍的是C程序设计的详细中文资料免费下载内容包括了: 程序设计和C语言,算法---程序的灵魂,最简单的C程序设计,选择结构
    发表于 08-01 08:00 0次下载

    JAVA程序设计教程之数组的详细资料说明

    本文档的主要内容详细介绍的是JAVA程序设计教程之数组的详细资料说明主要内容包括了:数组数组创建,多维数组
    发表于 12-29 16:20 0次下载
    JAVA<b class='flag-5'>程序设计</b>教程之<b class='flag-5'>数组</b>的详细资料说明

    Java教程之Java面向对象程序设计一维数组的使用

    本文档的主要内容详细介绍的是Java教程之Java面向对象程序设计一维数组的使用。
    发表于 01-09 18:15 3次下载
    Java教程之Java面向对象<b class='flag-5'>程序设计</b>一维<b class='flag-5'>数组</b>的使用

    C语言程序设计教程之数组的详细资料说明

    本文档详细介绍的是C语言程序设计教程之数组的详细资料说明主要内容包括了:1 一维数组,2 二维数组,3 字符数组和字符串,4 要点小结
    发表于 01-25 15:44 7次下载
    C语言<b class='flag-5'>程序设计</b>教程之<b class='flag-5'>数组</b>的详细资料说明

    C语言程序设计第四讲结构程序设计之选择

    C语言程序设计第四讲结构程序设计之选择
    发表于 12-22 10:34 0次下载

    C程序设计入门笔记之数组结构

    数组结构体和指针是C语言里面最难的部分,如果在编程中可以熟练的运用这三样工具,会大大地提高开发效率,简化程序结构,提成代码运行速度。
    的头像 发表于 03-02 10:13 406次阅读
    C<b class='flag-5'>程序设计</b>入门笔记之<b class='flag-5'>数组</b>与<b class='flag-5'>结构</b>体