当前位置:网站首页>C语言03、数组
C语言03、数组
2022-08-03 16:07:00 【列宁格勒的街头】
数组
数组有多种,有一维数组、二维数组、三维数组......
注意:数组是通过下标来访问的,下标是从0开始的
数组的大小可以通过计算得到(sizeof)
一维数组
一维数组的创建和初始化
#define M 25
int arr1[10];//对
int arr2[];//错
int arr3[] = {0 ,1 ,2 ,3};//对
此时会自动计算数组大小,此时数组大小为4
int arr4[M];//对
int arr5[1] = { 0 ,1 ,2 ,3 };//错,越界
int arr6[10] = { 0 };//对
此时该数组全部被初始化为0数组的创建,在C99标准之前,[]中要给一个常量才可以,不能使用变量,C99标准支持了变长数组的概念,也就是说C99标准后可以这样
int num = 10;
int arr[num] = { 0 };数组初始化时,要注意char类型的数组初始化
char arr1[] = "abc";
char arr2[3] = {'a', 'b', 'c' };如上代码,若此时以字符串打印arr2,会打印出乱码,因为字符串的结束标志是'\0',而arr2中三个元素均被初始化,该数组没有'\0',打印arr2时没有扫描到'\0',所以会打印出乱码
一维数组在内存中的存储
随着数组下标的增长,数组在内存中是连续存放的,并且是由低地址到高地址
二维数组
二维数组的创建和初始化
int arr1[3][4];//对
int arr2[3][4] = { {1,2,3,4} , {1,2}};//对
int arr3[][4] = { 0 };//对
int arr4[3][] = { 0 };//错二维数组的第一个[]里代表的是行,第二个[]代表的是列,在初始化二维数组时,第一个[]里的数字可以省略,第二个不可以省略。
二维数组在内存中的存储
与一维数组一样,只是它是一行一行存储的
数组越界
要注意数组越界的问题,有些越界编译器是不会报错的
数组作为函数参数
数组作为函数传参时,并不是把整个数组传了过去,而是只传过去了数组的首元素地址
数组名是什么(重要)
一般来说,数组名代表的是首元素地址
有两种特殊情况代表的是整个数组:
1.sizeof(数组名),此时计算出来的是整个数组的大小。
2.&数组名,取出的是整个数组的地址。若用&arr+1,会发现同一标号元素的地址之间差了整个数组的大小
边栏推荐
猜你喜欢

正向代理与反向代理

【Unity入门计划】基本概念(6)-精灵渲染器 Sprite Renderer

参与便有奖,《新程序员》杂志福利来袭!

AI也有健忘症?英国41岁教授专访:解决灾难性遗忘

Difference and performance comparison between HAL and LL library of STM32

Introduction to the advantages of the new generation mesh network protocol T-Mesh wireless communication technology

I am doing open source in Didi

ReentrantLock详解

技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris

如何分析周活跃率?
随机推荐
生态剧变,电子签名SaaS模式迎来新突破,网络效应加速到来
使用VS Code搭建ESP-IDF环境
uniapp的webview滑动缩放
MySQL窗口函数
想进阿里?先来搞懂一下分布式事务
Introduction to spark learning - 1
全新探险者以40万的产品击穿豪华SUV价格壁垒
mysql delete execution error: You can't specify target table 'doctor_info' for update in FROM clause
#夏日挑战赛# HarmonyOS 实现一个绘画板
ffplay视频播放原理分析
我在滴滴做开源
如何设计大电流九线导电滑环
土耳其国防部:联合协调中心将对首艘乌克兰粮船进行安全检查
MySQL窗口函数 PARTITION BY()函数介绍
【899. Ordered Queue】
破解数字化转型困局,企业分析协同场景案例解析
请问下,flink cdc监控oracle,我看源码是通过sid方式的,请问怎么改成service
【QT】Qt项目demo:数据在ui界面上显示,鼠标双击可弹窗显示具体信息
GTK实现旋转加载动画
常见分布式理论(CAP、BASE)和一致性协议(Gosssip、Raft)