c语言数组详解(初学者这一篇就够了,看了不会打我)「建议收藏」

c语言数组详解(初学者这一篇就够了,看了不会打我)「建议收藏」C语言数组详解1.数组:储存数据类型相同的一系列元素例如inta[100];在这里a数组储存100个int型元素,在这里[]这个符号就是告诉计算机a是一个数组。值得一提的是数组的下标访问数组的,数组中的a[0]一般表示你初始化的第一个值。2.初始化数组前面介绍过了,数组可以储存数据类型相同的一系列元素,所以初始化数组必不可少的一步就是告诉计算机这个数组储存的数据类型!…

大家好,又见面了,我是你们的朋友全栈君。

C语言数组详解
重要!!!欢迎对撸代码有兴趣的同学一起交流,大学生也可!!!带你一起写项目!QQ:1324252797
视频讲解:https://space.bilibili.com/440581684

在这里插入图片描述

1.数组:储存数据类型相同的一系列元素

例如 int a[100]; 在这里a数组储存100个int型元素,在这里 [] 这个符号就是告诉计算机 a 是一个数组。

值得一提的是数组的下标访问数组的,数组中的a[0] 一般表示你初始化的第一个值。

2.初始化数组

前面介绍过了,数组可以储存数据类型相同的一系列元素,所以初始化数组必不可少的一步就是告诉计算机这个数组储存的数据类型

int a[10]={ 
   1,33,0,919,3,199} //int型a数组初始化值为1,33,0,919,3,199

那么有同学会问了:那是不是也要告诉系统这个数组储存的元素个数???
在这里插入图片描述
还真的不一定哦!!!

借着这个话题我们来了解一下数组元素不匹配的问题。(举例说明)

数组 状态 出现情况
int a[2] int a[2]={1,2} 元素与 [ ]内 数字相等 a[0]=1 a[1]=2
int a[2] int a[2]={1} 元素与小于[ ]内数字 a[0]=1 a[1]=0
int a[2] int a[2]={1,23,55} 元素与大于[ ]内数字 系统报错

还有一种情况 int a[] , []内为空白这样就没有告诉计算机元素的个数,但是计算机会根据初始化列表确定数组的大小,这样就可以有效防止初始化值的个数超过数组的大小。

在这里插入图片描述

2.1.拓展知识
C99以后,新增了指定初始化器。指定初始化器可以指定初始化第几个元素。如 int a[3]= { [2] = 3} , 把 a[2] 初始化为3,这个比较复杂,仅作为了解。

3.数组元素赋值
以下面代码为例:

#include<stdio.h>
int main(void)
{ 
   
	int a[10];
	for(int i=0;i<10;i++)
	{ 
   
		a[i]=i;
		printf("%2d\n",a[i]);
	}
	return 0;
}

输出结果如下:
在这里插入图片描述
这里有几点值得注意:

  • 这行代码中 a[i]=i,规定数组 [ ] 中不能有变量(未初始化),但这里用了 i 却可以,是因为在这之前 i 已经被初始化一个值。
  • printf(“%2d\n”,a[i]); 这行代码中有很多新手会写成 &a[i] ,往往输出会得到一串奇怪的数字,这是为什么?我们先仔细阅读下面这篇文字。

1.数组名代表数组首元素的地址
2. 数组的地址需要取地址符&才能看到—->(所以你得到的奇怪的数字其实是首元素的地址)
3. 数组首元素的地址值与数组的地址值相同——>(这就是为什么你得到的都是一样的奇怪的数字,这也说明了数组占内存的情况)


重要!!!欢迎对撸代码有兴趣的同学一起交流,大学生也可!!!带你一起写项目致富!QQ:1324252797

创作不易,欢迎点赞支持,关于数组日后继续更新

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157312.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 窗口动画缩放,过渡动画缩放,Animator时长缩放_关闭动画缩放好不好

    窗口动画缩放,过渡动画缩放,Animator时长缩放_关闭动画缩放好不好最近用到了ScaleAnimation来实现图片放大需求,今天就把使用过程中学习的一些东西总结记录一下,希望能对大家有所帮助。-ScaleAnimation是Android官方提供的动画类Animation的子类Animation类是一个抽象类,我们通常会使用它的四个子类AlphaAnimation、RotateAnimation、ScaleAnimation和TranslateAnimation,他们分别可以实现渐变动画、旋转动画、平移动画、缩放动画功能,当然我们今天的主角就是缩放动画Scal

    2022年10月15日
  • centos安装VirtualBox增强包VBoxGuestAdditions

    centos安装VirtualBox增强包VBoxGuestAdditions1.如果你的CentOS版本早于6,那么需要在/etc/grub.conf中添加一行divider=10,以将这个参数传递给核心,以减少idleCPUload。2.#yumupda

  • 泛型讲解

    泛型讲解

  • wine卡住_Ubuntu微信

    wine卡住_Ubuntu微信UbuntuwineQQ卡死前几天在Ubuntu下写基因组信息学实验报告用wps-linux转pdf遇到了字体问题,就把windows字体拷过来安装了然后再用QQ就出现一堆口口口口。。。但是这个不影响使用影响使用的是他会卡死。。原因字体缓存没更新解决方案删除windows字体嫌麻烦我就没删。。或者可以:重建缓存cd/usr/share/fontssudofc-cache-fv应该解决了。后续好像还是会卡想到上次安装字体的时候有一堆报错部分截图

  • IDEA 2018.2.5最新版破解到2100年图解教程

    先看下我破解后的效果图把下载的破解补丁放在你的idea的安装目录下的bin的目录下面(如下图所示),本文示例为F:\ProgramFiles\JetBrains\IntelliJIDEA2018.2\bin\JetbrainsCrack-3.1-release-enc.jar(破解补丁文末有百度网盘链接)打开IDEA软件,点击免费试用,然后确定在这里添加-javaagent:F:\Pr…

  • Java实现国密算法SM2,SM3,SM4,并且实现ECB和CBC模式

    Java实现国密算法SM2,SM3,SM4,并且实现ECB和CBC模式代码中实现了电码本ECB模式和密文分组连接CBC模式,SM3.java和SM4.java为算法实现类,utils的都是根据实现类写的工具,可以根据需要调用杂凑算法SM3的杂凑功能获得杂凑值。SM4.java中sm4_crypt_ecb(SM4_Contextctx,byte[]input)ECB模式加解密方法,根据密钥判断加解密功能sm4_crypt_cbc(…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号