一维数组基本知识

本文详细介绍了C语言中一维数组的定义、引用和赋值方法,包括定义时的注意事项,如数组大小不能为变量或浮点型,下标的范围等。并探讨了赋值的不同方式,如使用赋值语句、循环语句,以及通过memset和memcpy函数进行赋值。特别指出,C语言中除定义时外,无法对数组整体赋值,必须逐一赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、一维数

  1.定义:


数组类型  数组名称[数组大小]

注:数组大小不能为变量

      数组大小不能为浮点型

       数组大小不能超过为表达式

  2.引用:


数组名[下标]

注:

下标最小值为0,最大值是数组大小减一

  3.赋值(可以先定义之后再一一赋值/定义的时候一起赋值)


a,赋初值,具体格式。

数组名[常量表达式]={表达式1,表达式2,……表达式n};

注:

1~"="表达式后面必须是{    }其中的表达式用,分割。

2~表达式的个数不能超过数组变量的大小

3~表达式1是赋给第一个数组元素的值,表达式二是赋给数组第二哥元素的值,以此类推

4~如果表达式的个数小于数组大小,则未指定的数组元素被指定为0。

5~~如果当对所有数组元素赋初值时可以省略数组变量大小,此时数组默认元素数量就为表达式数量


例如~3

定义为整型

int a[5]={0,1,2,3,4};//经过定义和赋值后

a[0]=0,a[1]=1,……,a[4]=4

定义为字符型

char a[5]={'s','dasb','sa6','ss','lll'};//经过定义和赋值后

a[0]='s',……

例如~5

int a[]={6,6,6};//那么a[]就有三个数组元素

c语言中除了在定义数组变量的时候可以用初值列表对整体赋值以为,无法再对数组整体赋值


例,下面写法错误

int a[5]

a={1,2}//错误❌

a[5]={1,2,3,4,5}//错误❌

a[]={1,2}//错误❌

a[5]={1,2,3,4,5}//❌

<

❌a是数组名,表示数组在内存中的首地址不能被赋值

❌=右边的不是合法的表达式

❌只有定义数组时才可以数组名[]

❌a[5]是越界行为,在前文中定义了a[5],实际存在数组元素只有a[0],a[1],a[2],a[3],a[4]这五个数组元素,定义时5表示有几个数组元素

>小总结,在c中在数组定义后,只能对数组一一赋值。

赋值方法

一,列举赋值

1.    使用赋值语句来赋值。

int a[3];

a[2]=3;

char name[3];

name[2]='sb';

2.   使用循环语句来赋值。

将数组a的各元素赋值成奇数

int a[5],i;

for(i=1;i<=10;i++)

a[i]=2*i+1;

按顺序接收用户键盘输入赋值

int a[10], i;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

不能用scanf函数对数组整体输入赋值

int a[3];

scanf("%d%d%d",&a)//错误

如果非要一次赋值

int  a[3];

scanf("%d%d%d",&a[0],&a[1],&a[2]);//正确

3.  使用memset函数来赋值(头文件必须包含"string.h")

char name[10];//定义字符数组名称为name,大小为10。

memset(name,'sb',10);

4.  使用memcpy函数实现数组间的赋值(头文件包含"string.h")

//该函数为何引用

//如果把a[6]数组的所有值赋给b[6]数组,虽然我们可以利用循环

int a[6]={0,1,2,3,4,5}, b[6], i;

for(i=0;i<6;i++)

b[i]=a[i];//但是非常麻烦,所以我们可以用memcpy函数

memcpy(b,a,6);//把数组a的值全部赋给数组b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值