C语言数组的概念是什么及怎么应用
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇"C语言数组的概念是什么及怎么应用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"
千家信息网最后更新 2025年01月20日C语言数组的概念是什么及怎么应用
这篇"C语言数组的概念是什么及怎么应用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C语言数组的概念是什么及怎么应用"文章吧。
一、数组的概念
数组是相同类型的变量的有序集合
二、数组的大小
数组在一片连续的内存空间中存储元素
数组元素的个数可以显示或隐式指定
下面看一段数组初始化的代码:
#includeint main(){ int a[5] = {1, 2}; int b[] = {1, 2}; printf("a[2] = %d\n", a[2]); printf("a[3] = %d\n", a[3]); printf("a[4] = %d\n", a[4]); printf("sizeof(a) = %d\n", sizeof(a)); printf("sizeof(b) = %d\n", sizeof(b)); printf("count for a: %d\n", sizeof(a)/sizeof(int)); printf("count for b: %d\n", sizeof(b)/sizeof(int)); return 0;}
下面为输出结果:
注意数组长度的计算,sizeof(数组名) / sizeof(数组元素类型)
三、数组地址与数组名
数组名代表数组首元素的地址
数组的地址需要用取地址符 & 才能得到
数组首元素的地址值与数组的地址值相同
数组首元素的地址与数组的地址是两个不同的概念
下面看一段数组名和数组地址的代码:
#includeint main(){ int a[5] = { 0 }; printf("a = %p\n", a); printf("&a = %p\n", &a); printf("&a[0] = %p\n", &a[0]); return 0;}
下面为输出结果:
注意:数组首元素的地址与数组的地址是两个不同的概念,虽然它们的地址值是一样的,但是意义确是完全不同的,不同之处在于它们所占用的内存空间长度是不一样的。
四、数组名的盲点
数组名可以看做一个指针常量
数组名"指向"的是内存中数组首元素的起始位置
数组名不包含数组的长度信息
在表达式中数组名只能作为右值使用
只有在下列场合中数组名不能看做指针常量
数组名作为 sizeof 操作符的参数
数组名作为 & 运算符的参数
下面通过一段代码,说明数组和指针并不相同:
#includeint main(){ int a[5] = {0}; int b[2]; int* p = NULL; p = a; printf("a = %p\n", a); printf("p = %p\n", p); printf("&p = %p\n", &p); printf("sizeof(a) = %d\n", sizeof(a)); printf("sizeof(p) = %d\n", sizeof(p)); printf("\n"); p = b; printf("b = %p\n", b); printf("p = %p\n", p); printf("&p = %p\n", &p); printf("sizeof(b) = %d\n", sizeof(b)); printf("sizeof(p) = %d\n", sizeof(p)); //b = a; return 0;}
输出结果如下:
sizeof(a) = 20,sizeof(p) = 4,这就说明了指针和数组是两个不相同的东西。
以上就是关于"C语言数组的概念是什么及怎么应用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
数组
地址
元素
概念
内容
不同
相同
指针
语言
应用
两个
代码
内存
结果
长度
输出
参数
名作
常量
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
糖尿病 数据库
热门的网络技术有哪些
黑龙江hp服务器
管理服务器的指令
湖北视频会议服务器云服务器
妙眠代理系统软件开发
税友集团杭州软件开发岗工资
公采网络技术有限公司怎么样
霍格沃尔服务器
数据库和数据表超星
网络安全协议第二版
哪里可以查工资数据库
nbp服务器黑名单
深圳迅雷网络技术怎么样
拱墅区软件开发app
电力视频巡检智能分析服务器
ios网络安全知识
jsp连接mysql数据库
上海软件开发的公司有哪些
徐州第二届网络安全攻防大赛
杭州乐克网络技术有限公司
java调取数据库接口
徐州软件开发外包公司
数据库exec
数据库更新迭代
数据库复制数据
西瓜星球服务器是什么
数据库控制中授权的英文表示
爱卡蒙网络技术有限公司
网络安全法和反恐怖主义