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

    文章

    7604

    浏览量

    136806
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93722
  • 数组
    +关注

    关注

    1

    文章

    417

    浏览量

    25945
收藏 人收藏

    评论

    相关推荐

    周立功教你学C语言编程:结构,使程序设计更方便——内置函数指针和嵌套结构

    我们知道,数组和指针是相同类型有序数据的集合,但很多时候需要将不同类型的数据捆绑在一起作为一个整体来对待,使程序设计更方便。在C语言中,这样的一组数据被称为结构
    的头像 发表于 09-06 09:27 9611次阅读
    周立功教你学<b class='flag-5'>C</b>语言编程:<b class='flag-5'>结构</b><b class='flag-5'>体</b>,使<b class='flag-5'>程序设计</b>更方便——内置函数指针和嵌套<b class='flag-5'>结构</b><b class='flag-5'>体</b>

    C语言中数组结构的内存表示和布局

    C语言中,数组结构都可以代表一块内存,但为什么结构可以直接赋值,而
    发表于 08-28 10:54 1606次阅读

    C程序设计实验指导书

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

    C语言程序设计介绍

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

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

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

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

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

    C语言程序设计教程之二维数组如何应用二维数组的资料概述

    本文档的主要内容详细介绍的是C语言程序设计教程之二维数组如何应用二维数组的资料概述主要内容包括了:1 了解二维数组2 二维
    发表于 10-26 16:48 3次下载

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

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

    C语言程序设计教程之结构与共用的详细资料说明

    本文档详细介绍的是C语言程序设计教程之结构与共用的详细资料说明主要内容包括了:1 结构
    发表于 03-01 17:20 11次下载
    <b class='flag-5'>C</b>语言<b class='flag-5'>程序设计</b>教程之<b class='flag-5'>结构</b><b class='flag-5'>体</b>与共用<b class='flag-5'>体</b>的详细资料说明

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

    本文档详细介绍的是C++程序设计教程之数组的详细资料说明主要内容包括了:1. 数组的概念,2. 一维数组的定义和引用,3. 二维
    发表于 03-14 14:48 10次下载
    <b class='flag-5'>C</b>++<b class='flag-5'>程序设计</b>教程之<b class='flag-5'>数组</b>的详细资料说明

    C语言程序设计全套培训课件免费下载

    选择结构程序设计,第6章 循环控制,第7章 数组,第8章 函数,第9章 预处理命令,第10章 指针,第11章 结构与共用
    发表于 09-21 08:00 1次下载
    <b class='flag-5'>C</b>语言<b class='flag-5'>程序设计</b>全套培训课件免费下载

    C语言程序设计的学习课件免费下载

    本文档的主要内容详细介绍的是C语言程序设计的学习课件免费下载包括了:第一章C语言概述,第二章算法,第三章数据描述,第4章最简单的C程序设计
    发表于 01-11 08:00 2次下载
    <b class='flag-5'>C</b>语言<b class='flag-5'>程序设计</b>的学习课件免费下载

    Keil使用结构数组的奇怪问题

    今天用keil的时候发现一个很奇怪的点,是关于结构数组的。首先说明我的keil版本是:V5.28.0.0问题是这样的:我在a.h文件定义了一个结构
    发表于 11-21 16:36 3次下载
    Keil使用<b class='flag-5'>结构</b><b class='flag-5'>体</b><b class='flag-5'>数组</b>的奇怪问题

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

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

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

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