linux C数组与指针

数组:

把具有相同类型的若干变量按有序的形式组织起来,而这些同类数据元素的集合成为数组。

数组(Array)也是一种复合数据类型

数组count的4个元素的储存空间相邻。数组的成员可以是基本数据类型,也可以是复合数据类型。数组的元素通过下标来访问。

数组的下标可以是表达式,但表达式必须是整型的。

数组和结构体虽然有相似之处,但也有明显的不同:数组不能相互赋值或初始化,既然不能相互赋值,也就不能用数组类型作为函数的参数或者返回值。

一维数组:

数组中元素类型 数组名称[数组中元素个数]={元素0,元素1,....};

例如:int a[10]={1,2,3,4,5,6,7,8,9,0};   (int a[10];) 

二维数组:
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。

int a[3][2]={1,2,3,4,5};

不足3个自动补零,不允许前面或中间省略,如要省略,请手动加零。
数组a有3个元素,a[0]、a[1]和a[2]。每个元素也是一个数组,如a[0]是一个数组,它有3个元素a[0][0],a[0][1]这2个元素类型是int 分别为 1,2,同理数组a[1]的两个元素是3,4,数组a[2]两个元素是5和0。
数组中所有元素都是同一种类型,不存在统一数组中两种数据类型。
二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。
例如对数组a[5][3]:
  • 按行分段赋值可写为:
    int a[5][3]={ {20,21,22}, {23,24,25}, {26,27,28}, {29,30,31}, {32,33,34} };
  • 按行连续赋值可写为:
    int a[5][3]={ 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34};
这两种赋初值的结果是完全相同的。
3) 数组是一种构造类型的数据。二维数组可以看作是由一维数组的嵌套而构成的。设一维数组的每个元素都又是一个数组,就组成了二维数组。当然,前提是各元素类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组。C语言允许这种分解。
字符型数组:
用来存放字符量的数组称为字符型数组。

指针:
所谓指针是用来指示一个内存地址的计算机语言的变量或中央处理器中的寄存器。指针一般出现在比较接近机器语言的语言中,指针一般指向一个函数或一个变量,在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数值。通俗地讲,把一个变量所在的内存单元的地址存在另一个内存单元中,保存地址的内存单位称为指针。
&是取地址运算符,例如:int *pi=&i;表示定义一个指向int型的指针变量pi并用i的地址来初化它。
指针的简单使用:

指针变量作为函数参数:
函数的参数不仅可以是整型,实型,字符型等,也可以是指针类型。
它的作用就是将一个变量的地址传送到另一个函数中。

指针与数组的使用:

指向指针的指针:
指针可以指向基本类型,也可以指向复合类型,因此也可以指向另外一个指针变量称为指向指针的指针。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值