c语言一维数组逆序输出,c语言一维数组删除某个元素
Yyds干货库存
大家好,我是李泽。希望看完之后能帮到你。如有不足请指正!一起学习交流。
2021博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~ ~阿里云专家博主阿里云之星博主~掘金InfoQ ~ P Creator ~周榜92(总榜886)总网页访问量35w
本文原载于P,作者Yuze。如需转载请告知。
个人主页51Ctop P博客
欢迎喜欢你喜欢的留言。
系列专栏51Ctop _ 博客的分类
我们不在自己选择的舞台上,表演也不是自己选择的剧本。
数组的概念和用途如果要把数据放入内存空间,首先要分配内存空间。然后我们放入类型 int的内存空间的值,例如:
int arr[5];
这样在内存中分配了5个int类型的内存空间,共45=20字节,命名为arr。
数组中的每个元素都有一个序列号,从0开始,而不是大家熟悉的1,称为Index。使用数组元素时,只需注明下标即可,例如:arrname[Index]arrname是数组名,Index是下标。比如:a[0]代表第一个元素,a[1]代表第二个元素。注意:下标0是第一个元素。在使用数组时,我们经常会用到数组中的元素,然后依次打印出值(也就是给数组中的元素逐个赋值初始值)。然后使用循环结构输出(即依次读取数组元素的值)如下面的代码所示:#define
#包含stdio.h
int main(void){
int I;
int arr[10]={ 0 };
int SZ=sizeof(arr)/sizeof(arr[0]);
for(I=0;我SZ;我)
{
arr[I]=(I ^ 1);
printf(arr[%d]=%d\n ,I,arr[I]);//依次输出数组
}
返回0;
}
操作结果如下
变量I既是数组下标又是循环条件;数组下标用作循环条件,循环在到达最后一个元素时结束。数组arr的最大下标是9,也就是不能超过10,所以我们规定循环的条件是i 10,一旦I达到10就要结束循环。
所以我们来修改一下上面的代码:让用户输入十个数字!代码示例如下:#define
#包含stdio.h
int main(void){
int I;
int number[10]={ 0 };
Printf(请输入十个数字: \ n );
for(I=0;i 10我)
scanf(%d ,编号[I]);
for(I=0;i 10我)
printf(%d ,编号[I]);
返回0;
}
操作结果如下:
数组名数组名是第一个元素的地址。但是有2个例外:sizeof(数组名)——数组名表示整个数组——计算整个数组的大小,单位是字节。取地址()数组名3354数组名表示整个数组—取出整个数组的地址。一维数组的定义一维数组用于存储一组一位序列的数据。其一般形式如下:
类型说明符数组标识符[常量表达式];
类型说明符指示:数组中所有元素的类型,可以是基本数据类型,也可以是构造类型。数组标识符的意思是:数组类型变量的名称,命名规则与变量名的标识符一致。这也称为数组标识符。常量表达式:定义数组中存储的数据元素的个数,即数组的长度。int a[10];解释整数数组A,有10个元素。浮点b[10],c[20];说明单精度浮点数组B有10个元素,实型数组C有20个元素。char ch[20];解释一下字符数组ch,它是在20个元素的一维数组的参考数组定义完成后使用的。您可以通过引用数组元素来使用它们。注意:访问数组的下标从0开始。数组的一般形式定义如下:
数组标识符[下标]例如,它指数组变量arr中的第二个变量。
arr[2];数组元素的总大小为:intsz=sizeof(arr)/sizeof(arr[0]);
相关主题的示例如下:
#定义
#包含stdio.h
int main(void){
int I=0;
int arr[10]={ 0 };
int SZ=sizeof(arr)/sizeof(arr[0]);//计算数组的总元素大小
arr[5]=5;
arr[6]=7;
for(I=0;我SZ;我)
{
printf(%d ,arr[I]);
}
返回0;
}
运行结果的示例如下:
对于数组,要注意以下几点:在创建数组的时候,只能给一个[]括号内的常量,不能用变量!注意:不能用const关键字修改,其实是变量。例如,在数组中,arr[5]中只能使用arr[0]、arr[1]、arr[2]、arr[3]和arr[4],而不能使用arr[5]。如果使用arr[5],会导致下标越界。下标可以是整数常量或整数表达式。数组的类型实际上是索引组元素的值类型。对于同一个数组,它的所有元素都具有相同的数据类型。字符串,数组下标是只知道你的数组下标的字符,不包括 \0 。一维数组初始化。除了用赋值语句给数组元素逐个赋值外,还可以使用初始化和动态赋值方法。初始化赋值是指在定义数组时给数组元素赋值初始值。数组的初始化在编译阶段完成。这样可以减少运行时间,提高效率。int a=10//initialize int arr[5]={1,2,3,4,5 };//完全初始化int arr1[5]={1,2,3 };//不完全初始化,不完全初始化,剩余未初始化元素的默认值为0。
如果你的下标没有指定下标,它会默认查看你有多少个元素来帮助你确定数组的下标是什么。int arr[]={1,2,3,4,5 };int arr[5]={1,2,3,4,5 };上面的句子代码完全等价!会根据后面数据初始化的内容来决定数组下标是什么!一维数组存储器存储模式#define
#包含stdio.h
int main(void){
int I=0;
int arr[10]={ 0 };
int SZ=sizeof(arr)/sizeof(arr[0]);
for(I=0;我SZ;我)
{
//% p-根据地址格式打印,十六进制!
printf(arr[%d]=%p\n ,I,arr[I]);
}
返回0;
}
操作结果如下
一维数组在内存中是连续存储的!随着数组下标的增加,地址由地变高!练习:用一维数组保存学生姓名!这个代码使用了指针数组的操作!
#包含stdio.h
int main(void){
int I;//控制循环变量
char * arr name[5]={ 0 };//字符指针数组
//通过解引用操作间接寻址
Arrname[0]=姓名:张三;//注意:C语言字符串本质上是地址。
Arrname[1]=性别:男性;
Arrname[2]=电话:123456789 ;
Arrname[3]=学生ID:0 ;
Arrname[4]=地址:地球;
for(I=0;i5;我)
{
printf(%s\n ,Arrname[I]);
printf( \ n );
}
返回0;
}
操作结果如下
Yuze 51Ctop,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。