• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

当数组作为函数的参数时,sizeof为什么不能判断其大小

我是爆米花啊 2017-11-07 浏览量:1021

当数组作为函数的参数时,sizeof为什么不能判断其大小?

通常这种情况下,效率最高最简洁的解决方式是什么。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 数组作为函数参数时,会退化成指针,通常需要判断大小时,再增加一个长度的参数。
    • 发布于 2017-11-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 定义数组的时候用#define BUFFERSIZE  256    然后程序里需要用到长度的时候就用这个定义就好了;sizeof只能在和数组定义的同一个内使用才能正确得到数组的大小,数组传参传递的是地址,用sizeof得到的是数组首地址的大小
    • 发布于2017-11-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :是的https://www.analog.com/media/en/technical-documentation/data-sheets/HMC8411LP2FE.pdf 回复

  • 最好的办法就是把这个长度当做一个参数传入函数内部进行使用
    • 发布于2017-11-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :封装: 1206 品牌: IHHEC(禾伸堂) 型号: C1206X103K202T 描述: 额定电压:2kV 精度:±10 回复

  • 数组作为参数,到了函数中,应该得到的是地址,不是数组大小。
    • 发布于2017-11-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :401:包装数:250. 40EL:包装数:1250 回复

  • 数组一传入这个函数,就成了计算数组类型的长度了。
    • 发布于2017-11-07
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

当数组作为函数的参数时,sizeof为什么不能判断其大小