栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数组相关知识点 2021-10-22

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组相关知识点 2021-10-22

c语言

1:数组的定义
(1).数组类型 + 数组名 + [长度];

int arr[10]; //定义数组的类型为整型,数组名为arr,长度为10。

(2).数组定义时不给长度,编译器会通过赋的值推算长度是多少。

(3).数组名相关问题:
①数组名还可以表示数组首元素的地址;

int main() 
{
	int arr[9] = { 1,2,3,4,5,6,7,8,9 };
	printf("%d %dn", &arr, &arr[0]);
}

运行结果:

由运行结果可知 数组名可以表示数组首元素的地址

②数组名只有两种情况下表示整个数组:
在定义数组的同一个函数内,sizeof(arr),这里的arr代表整个数组
在定义数组的同一个函数内,&arr+1,这里的arr代表整个数组

2:数组的初始化
(1).寻常初始化

int brr[5]={1,2,3,4,5};//数组brr中存储1,2,3,4,5。

(2).数组只赋值一部分,剩余部分则全为0

#include
int main()
{
	int crr[5] = { 1,2,3 };
	for (int i = 0; i < 5; i++)
	{
		printf("%dt", crr[i]); // t为中间间隔八个字节
	}
}

运行结果为:

(3).数组只定义,不初始化其中的值为全部随机值(可能会出现如下的结果,这个结果就是随机值)

(4).数组赋0值的三种方法
①大括号里不写任何东西
②括号内只写一个0
③括号内将所有的值均写出来

#include
int main()
{
	int drr[5] = {};
	int err[5] = {0};
	int frr[5] = {0,0,0,0,0};
	for (int i = 0; i < 5; i++)
	{
		printf("%dn", drr[i]);
	}
	for (int j = 0; j < 5; j++)
	{
		printf("%dn", drr[j]);
	}
	for (int k = 0; k < 5; k++)
	{
		printf("%dn", drr[k]);
	}
}

3:数组的访问
(1).通过下标访问

(2).数组中括号中间的值什么时候代表长度?
当数组定义的时候,中括号中间的值代表着长度,并且必须是常量。

(3).数组中括号中间的值什么时候代表着下标?
当数组使用的时候,中括号中间的值代表着下标,可以是常量,也可以是变量。

4:数组长度的求法
公式: sizeof(arr)/sizeof(arr[0])
数组整个的字节/第一个格子的字节 == 有多少个格子
注意:求数组长度公式只能用在,定义这个数组的同一个函数内部。

5: 数组越界问题
访问到不属于自己的内存,会发生数组越界,不安全。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/347128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号