C语言学习之一维数组的使用

一、一维数组

定义:相同数据类型的集合,一片连续的内存空间,所存放的数据类型一样

数组的定义:

        数据类型 数组名[数组的长度];

        数据类型可以自定义,可以是一个数组、结构体、指针等,但不能是一个函数

①数组名子代表的含义:

  •         数组的名字代表整个数组;
  •         数组的名字代表数组的基地址(连续内存地址的起始地址)
printf("%p\n",a);         //数组的基地址

printf("%p\n",&a);        //整个数组的地址

printf("%p\n",&a[0]);     //数组首个元素的地址

②数组的访问:

        数据类型  数组名[元素下标];

例:int  a[10];                //定义了一个int型的数组a,长度为10

数组元素访问方法:通过数组名加下标进行访问,如a数组的第一个元素a[0],数组下标的范围为0~数组长度-1结束。

③数组的赋值:(定义时赋初始值

  • 完全赋值:
 int  a[3]={1,2,3}; //定义了一个长度为3的int型数数组并初始化赋值,3个元素为1,2,3

     /*数组在完全定义状态下可省略数组长度,其他情况下数组长度都不可以省略*/

 int b[ ]={1,2,3}; //数组b的长度为3
  • 不完全赋值:
int c[6]={1,2,3,4};        //未被初始化的元素则自动赋值为0
  • 分段赋值:
int d[7]={1,[2 ... 4]=7,7};        //a[2]~a[4]为7

int d[10]={1,2,[4]=7,3,[6 ... 7]=1};        //a[4]为7,a[6]~a[7]为1

(定义时未赋初始值):

int a[10];
//单独给每一个元素赋值
a[0]=100;            //未被初始化的元素值不确定

例:定义一个长度为10的字符型数组str并赋值“hello”,在将数组字符输出到终端上:

二、字符数组:

专门用于存放字符的数组,在c语言中字符串数组与字符数组在使用时没有明显区别。但字符串数组与字符数组略有不同,字符串数组末尾有结束标志'\n'。

#include <stdio.h>
int main()
{
    char str[5]={'h','e','l','l','o'};      //没有结束标志'\0'
    char str1[6]={'h','e','l','l','o','\0'};//有结束标志'\0',结束标志也算到字符串数组的长度中
    char str2[6]="hello";

    int len=sizeof(str)/sizeof(str[0]);         //将str数组的长度赋值给len
    for (int i = 0; i < len; i++)
    {
        printf("%c",str[i]);
    }
    printf("\n");
    printf("str1:%s\n",str1);
    printf("str2:%s\n",str2);
    return 0;
}
输出为:
hello
str1:hello
str2:hello

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

biubiuboomy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值