返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解C语言初阶之数组
  • 498
分享到

详解C语言初阶之数组

2024-04-02 19:04:59 498人浏览 安东尼
摘要

目录1.数组1.1数组的概念1.2数组的定义 a:完全初始化b:不完全初始化 c:给定元素个数d:不给定元素个数1.3数组的下标访问总结1.数组 1.1数组的概念 所谓数组

1.数组

1.1数组的概念

所谓数组(array),就是具有相同数据类型的集合,存放的数据类型即数组本身的类型。

可以发现存储的都是int型 

补充 :调试小技巧

调试窗口 (按F5进行调试,打开菜单栏中的调试—窗口—监视—随便打开一个监视窗口,输入arr,将程序运行过arr的初始化即可观察到arr内部进行的初始化)

1.2数组的定义 

a:完全初始化

数组内部存储了4个int类型的数据,分别是1,2,3,4

b:不完全初始化

 要求开辟四个空间存储数据,但只对第一个进行了初始化,默认后面三个均为0

c:给定元素个数

给定元素个数后,可以是完全初始化,也可以是部分初始化。

d:不给定元素个数

自动给四个元素分配空间,实际上中括号内还是4

注意:

a:不给定元素数据一律视为完全初始化

b:数组内部元素个数至少为1

c:[]内部必须是整型常量(c90 标准)——c99标准支持其他类型(linux),但我们主流仍旧采用c90标准,同样注意,我们一般所用的const定义的常量叫作常变量,本质并不算常量,因此该类型数据同样不能放在【】内

1.3数组的下标访问

数组可以通过指针和下标来进行访问,这里我们来说下标。

数组的第一个元素是【0】,即arr【0】代表第一个元素,arr【5】代表第六个元素

我们通常通过遍历(即循环)来对数组内容进行打印,如果存储的是字符串的话,那我们只需要%s(用来打印字符串)即可。

 

 注意:

a:通常情况下,数组名即arr是数组的首元素地址(因此对整型数组进行scanf循环输入时,直接scanf(“%d” ,arr)即可,而不用加&符号),但sizeof(arr)中的arr却代表整个数组的大小

b:sz=整个数组的大小/一个元素的大小==元素个数,arr【0】内的0改为1/2/3.....均可,但一般采用0(数组至少一个元素),防止越界访问(如一共只有四个元素,却访问了arr【5】)。

c:对字符数组(存储字符的数组)以%s进行输出时,出现错误,因为%s用来输出字符串类型,即遇到字符串磨人的‘\0'结束符后停止输出,但字符数组中没有默认的'\0'结束符,输出不能停止,超出数组空间后便出现错误,强制终止。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: 详解C语言初阶之数组

本文链接: https://lsjlt.com/news/157151.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解C语言初阶之数组
    目录1.数组1.1数组的概念1.2数组的定义 a:完全初始化b:不完全初始化 c:给定元素个数d:不给定元素个数1.3数组的下标访问总结1.数组 1.1数组的概念 所谓数组...
    99+
    2024-04-02
  • 详解C语言初阶之函数
    目录 1.main函数2.自定义函数2.1  函数的的封装和面向过程的思维3.函数的组成3.1函数的命名法3.2函数的返回值3.2.1void类型补充:3.3形参...
    99+
    2024-04-02
  • C语言初阶之数组详细介绍
    目录插入排序讲解二维数组二维数组的初始化二维数组的访问n维数组字符数组字符数组和字符串字符数组的输入输出字符串函数的简单使用综合使用字符串函数总结插入排序讲解 #include&...
    99+
    2024-04-02
  • 详解C语言初阶基础
    目录1.什么是c语言2.初始化:3.变量和常量4.作用域与生命周期简单阐述:作用域:生命周期(存在与消失):作用域与生命周期的区别作用域:生命周期:5.    &...
    99+
    2024-04-02
  • 详解C语言初阶基础(2)
    目录1.选择语句(if)2.循环while循环for循环do-while循环补充总结1.选择语句(if) 我们先不讲switch,后面会补充。先来对简单地if进行了解。 我们已经知道...
    99+
    2024-04-02
  • C语言 指针数组进阶详解
    目录指针与数组中的sizeof与strlensizeofstrlen数组名1、一维数组整型数组字符数组指针数组2、二维数组指针笔试题 笔试题1笔试题2笔试题3笔试题4笔试题...
    99+
    2024-04-02
  • C语言中的初阶指针详解
    目录1.指针是什么2.指针和指针类型3.野指针3.1野指针成因3.2如何规避野指针4.指针的运算4.1指针±整数4.2指针-指针4.3指针的关系运算5.指针和数组6.二级指针7.指针...
    99+
    2024-04-02
  • C语言之初始if语句详解
    目录if语句有三种常见的使用方式总结if语句有三种常见的使用方式 1. if() //满足条件 .....//执行的功能 (不满足条件则不执行任何功能) 2. if() //满足条件...
    99+
    2024-04-02
  • C语言教程之数组详解
    目录1.一维数组的创建和初始化1.1数组的创建1.2数组的初始化1.3一维数组的使用1.4 一维数组在内存中的存储2.二维数组的创建和初始化2.1二维数组的创建2.2二维数组的初始化...
    99+
    2024-04-02
  • 详解C语言之柔性数组
    目录定义特点具体使用例总结定义 可调整大小的数组 以0大小数组或无大小数组定义在结构体的最后一个元素中 特点 1.结构体中的柔性数组前必须包含至少一个其他成员。 2.sizeof...
    99+
    2024-04-02
  • C语言进阶教程之函数指针详解
    目录一、函数指针1.概念1.2函数指针的使用方法1.3练习巩固1.4小结一下二、阅读两段有趣的代码1.( *(void( *)( ))0 )( )2.void (* signal(i...
    99+
    2024-04-02
  • C语言进阶之文件操作详解
    目录0. Intro1. 文件名2. 文件的打开和关闭2.1 文件指针2.2 打开和关闭文件3. 文件顺序读写3.1 利用以上函数实现拷贝文件操作3.2 二进制的读写3.3 格式化输...
    99+
    2024-04-02
  • C语言中的指针 初阶
    目录1.指针是什么2.指针和指针类型3.野指针3.1野指针成因3.2如何规避野指针4.指针的运算4.1指针±整数4.2指针-指针4.3指针的关系运算5.指针和数组6.二级指针7.指针...
    99+
    2024-04-02
  • 【C语言初阶】指针篇—下
    目录 4. 指针运算4.1 指针+-整数4.2 指针-指针4.3 指针的关系运算 5. 指针和数组6. 二级指针7. 指针数组 C语言初阶—指针上 点击跳转 4. 指针运算 指针...
    99+
    2023-09-01
    c语言 算法 开发语言 指针
  • 详解C语言之函数
    目录函数的调用函数调用方式函数嵌套调用递归调用内部函数与外部函数内部函数外部函数局部变量与全局变量局部变量全局变量总结函数的调用 函数调用方式 函数语句调用 函数表...
    99+
    2024-04-02
  • C语言进阶之字符串查找库函数详解
    目录strstrstrtok总结strstr 查找strstr的文档,可知它的原型为: char *strstr( const char *string, const char *s...
    99+
    2023-01-28
    C语言字符串查找函数 用c语言实现字符串的查找 c语言查找字符串
  • C语言柔性数组详解
    目录前言一、柔性数组是什么?二、柔性数组的特点三、柔性数组的优点总结前言 可能大家第一眼看到这个标题会有点懵,到底什么是柔性数组,我怎么从来没听说过?但柔性数组确实是存在的,也经常会...
    99+
    2024-04-02
  • C语言动态数组详解
    目录内存分配函数malloc calloc realloc free内存操作函数 memset memcpy memmove二维动态数组的建立和释放总结内存分配函数malloc ca...
    99+
    2024-04-02
  • C语言之qsort函数详解
    目录一.qsort函数原型二.qsort常见的几种比较函数1.int类型的排序2.double类型的排序3.char类型的排序4.字符串的排序:1.按首字母排序2.按字符串长度排序:...
    99+
    2024-04-02
  • C语言新手初阶教程之三子棋实现
    目录三子棋创建项目环境头文件内容编写main函数(test.c)实现每一个接口函数1.board2.printfboard3.play4.computerplay5.win总结三子棋...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作