栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言一维数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言一维数组

一维数组
  • 一维数组的创建
  • 一维数组的初始化
  • 一维数组的使用
  • 一维数组在内存中的存储

一维数组的创建

数组就是一组相同类型元素的集合
数组的创建:

int arr [10]
int 是数组类型
arr  是数组名称
[10]  是数组的大小

数组也可以创建不同的类型
例如:

int arr[10];
int arr[8+2];
char ch[10];
double n[10];

在C99标准之前,数组的大小都必须是常量或者常量表达式
在C99之后,数组的大小可以是变量,这是为了支持变长数组
那什么是变长数组呢?
例如:
下面例子只支持在C99标准下执行

int n = 10;
scanf("%d",&n);
int arr[n];
一维数组的初始化

数组的初始化是指在创建数组的时候给数组赋值,也叫初始化
数组在创建的时候如果想不指定数组的确定的大小就得初始化,那数组的元素个数根据初始化的内容来确定。
例如:

int arr[10] = {"1,2,3,4,5,6,7,8,9,10"};
int arr[ ] = {"1,2,3,4,5,6,7,8,9,10"};

char ch[3] = {'a','b','c'};
char ch[ ] = {'a'.'b',98};
char ch [] = {"abc"};

数组不完全初始化
什么是数组不完全初始化

只给前面几个赋值,这叫数组不完全初始化,剩余的元素默认为0
注意:
下面的代码要区分,内存中如何分配

char ch[10] = {'a','b','c'}; 
在内存存储的是: a b c 0 0 0 0 0 0 0
初始化是 3 个

char ch2[10] = "abc";
内存存储的是: a b c   0 0 0 0 0 0
初始化是  4 个
一维数组的使用

数组的使用我们之前介绍了一个操作符: [ ] ,这是下标引用操作符。它其实就数组访问的操作符
数组是使用下标来访问的,下标是从0开始。
数组的大小是可以通过计算得到
C语言规定:数组的每个元素都有一个下标,下标是从0开始的
比如:

int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9}
        数组的下标: 0 1 2 3 4 5 6 7 8
}
----------------------------------------------------------
数组的使用
int main()
{
    int a[10] = { 1,2,3,4,5,6,7,8,9 };  数组的创建
    int i = 0;
    int sz = sizeof(arr) / sizeof(arr[0]);   计算数组的大小
    while (i < sz)
    {
        printf("%d ", a[i]); 打印数组下标为 i 的元素
        i++;
    }
    return 0;
}
一维数组在内存中的存储

数组在内存中是以十六进制的形式存储的
从图片就可以得出:数组在内存中是连续存放的,随着数组下标的增长,地址也是从低到高的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847953.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号