永发信息网

C语言函数 数组作为参数,,在函数里中无法计算传进来的数组长度求指教,

答案:3  悬赏:10  手机版
解决时间 2021-01-08 04:52
C语言函数 数组作为参数,,在函数里中无法计算传进来的数组长度求指教,
最佳答案
整型数组作为参数传递时,无法在子函数获得其长度!
只有字符串可以,因为它有一个尾巴标识(‘\0’)!

所以,整型的数组长度,必须与数组名一同传递到子函数才可以!追问char b[15] = { 'a', 'b', 'c', 'e', 'a','a', 'b', 'c', 'e', '\0' }; 这个好像也不可以 求完整的解决方案追答你这个也有结束符啊,如果你能规定 一个特殊数值作为整数的结束符,则传整型数组也能做到。
全部回答
如果你把参数改成char a[ ]就ojbk了,char *a中a是一个指针,sizeof得出的是4,因为指针类型就是大小4,而char a[ ]中a是一个静态数组,sizeof函数得到的是数组的容量5,这是sizeof这样定义的,而且sizeof求结构体的时候,又返回结构体的实际大小,你可能觉得疑惑,就请百度sizeof用法后再来想这个问题(建议对照strlen你会理解的更好),还有一个补充,sizeof是一个运算符不是函数哦。都写到这啦,再说点别的,善用结构体,深入理解指针,二重指针,数组,一定对你有帮助,因为操作系统(linux)就是c和汇编写的,数据结构与算法也主要考c的一些算法函数,学号c语音不容易,那些响当当的公司都是优先看你数据结构算法,数据库,操作系统等的功底,是不是扯远了。。。。点个赞呗第一次回复有点激动\(≧▽≦)/
你传入的是一个指针,并不是一个数组。这个指针的长度就是4。追问求一个解决方案啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
全文十多次写表示时间的词句,有什么作用
天猫logo设计者是谁啊
左边车右边至是什么字左边一个车字右边一个至
烧考生蚝的蒜蓉怎样做才不涩口
有碳、氢、氧、钙四种元素,请选用这四种元素
给个情侣网名,要特别一点的,与众不同的,
单选题Canyou_______speaktoapersoninold
五金家用工具哪里可以买?
看球听歌:史诗音乐送别英雄 回望黑曼巴传奇
oppoR11支持hml功能吗
英特尔® 酷睿™ i7 处理器是几核的
东北话钉钢五四是什么意思?
麒麟文身只有历代张起灵能纹,张日山那代没有
请问通知家人不小心说实事会被公安重新审加罪
我想纹身想纹个意大利语,求帮忙
推荐资讯
怎么在夏天变白?
你觉得我们人活着是为了什么而活着?
关于高的成语有些什么
5x减6y等于1和2x减6y等于10这个方程组的解是
被窝电影显示这个404 Not Found nginx
Un>0 ,a正负不确定。为什么||Un|-|a||≦|Un
非洲哪个国家叫科
看got7跳的hard carry跳舞时也有卡点吧,但是
93减5.25减4.74怎么简便运算
若为美女故 二者皆可抛什么意思
TPlink 路由器初始账号密码多少?
孜然风味鱼怎么做
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?