For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
达内TTS8.0全新的C/C 课程体系围绕十大核心热点技术展开,深入剖析C和C 编程语言,设计桌面应用,网络编程,多媒体游戏等C/C 主流领域。达内C 语言培训课程全真模块实训,四个月相当于两年工作经验。C语言指针变量作为函数参数是怎么回事呢?请听达内c语言培训机构老师慢慢说来。
在C语言中,函数的参数不仅可以是整数、小数、字符等具体的数据,还可以是指向它们的指针。用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。
像数组、字符串、动态分配的内存等都是一系列数据的集合,没有办法通过一个参数全部传入函数内部,只能传递它们的指针,在函数内部通过指针来影响这些数据集合。
有的时候,对于整数、小数、字符等基本类型数据的操作也必须要借助指针,一个典型的例子就是交换两个变量的值。
需要强调的是,不管使用哪种方式传递数组,都不能在函数内部求得数组长度,因为intArr仅仅是一个指针,而不是真正的数组,所以必须要额外增加一个参数来传递数组长度。
C语言为什么不允许直接传递数组的所有元素,而必须传递数组指针呢?
参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。
对于像int、float、char等基本类型的数据,它们占用的内存往往只有几个字节,对它们进行内存拷贝非常快。而数组是一系列数据的集合,数据的数量没有限制,可能很少,也可能成千上万,对它们进行内存拷贝有可能是一个漫长的过程,会严重拖慢程序的效率,为了防止技艺不佳的程序员写出低效的代码,C语言没有从语法上支持数据集合的直接赋值。
(以上内容来源于c语言中文网)
你对C技术感兴趣么?你想从事IT行业的工作么?你喜欢软件、开发,你想做一个有思想的软件创造者吗?你想寻找一个高薪水、高福利、稳定的工作吗?达内c语言培训机构可以帮助你实现这些梦想!
梦想的接力棒在新老学员手中不断传递,相信通过4个月努力学习
他们都会找到心仪工作,拿到理想薪资!
达内免费试听课活动正式开启,限额报名,先报先得!