i*****t 发帖数: 636 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: iForget (forget), 信区: Programming
标 题: 关于数组size的问题
发信站: BBS 未名空间站 (Wed Feb 17 00:43:17 2010, 美东)
举个简单例子,比如一个function有两个输入,第一个是整数数组,第二个是数组的si
ze,在主程序中调用时数组大小跟数组是一致的,比如
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
但如果不一致,比如上述例子中第二个输入为10,那么怎么在func中check呢?如果无法
check的话应该怎么处理呢?thanks | s***t 发帖数: 49 | 2 func(arr, sizeof(arr)/sizeof(int))
si
无法
【在 i*****t 的大作中提到】 : 【 以下文字转载自 Programming 讨论区 】 : 发信人: iForget (forget), 信区: Programming : 标 题: 关于数组size的问题 : 发信站: BBS 未名空间站 (Wed Feb 17 00:43:17 2010, 美东) : 举个简单例子,比如一个function有两个输入,第一个是整数数组,第二个是数组的si : ze,在主程序中调用时数组大小跟数组是一致的,比如 : int arr[5] = {1, 2, 3, 4, 5}; : func(arr, 5); : 但如果不一致,比如上述例子中第二个输入为10,那么怎么在func中check呢?如果无法 : check的话应该怎么处理呢?thanks
| i*****t 发帖数: 636 | 3 主程序中应该这样调用,问题是子程序中如何处理参数不一致的情况
【在 s***t 的大作中提到】 : func(arr, sizeof(arr)/sizeof(int)) : : si : 无法
| x**y 发帖数: 10012 | 4 sizeof(arr)/sizeof(*arr);
si
无法
【在 i*****t 的大作中提到】 : 【 以下文字转载自 Programming 讨论区 】 : 发信人: iForget (forget), 信区: Programming : 标 题: 关于数组size的问题 : 发信站: BBS 未名空间站 (Wed Feb 17 00:43:17 2010, 美东) : 举个简单例子,比如一个function有两个输入,第一个是整数数组,第二个是数组的si : ze,在主程序中调用时数组大小跟数组是一致的,比如 : int arr[5] = {1, 2, 3, 4, 5}; : func(arr, 5); : 但如果不一致,比如上述例子中第二个输入为10,那么怎么在func中check呢?如果无法 : check的话应该怎么处理呢?thanks
| x**y 发帖数: 10012 | 5 未必需要时int型的
【在 s***t 的大作中提到】 : func(arr, sizeof(arr)/sizeof(int)) : : si : 无法
| l*y 发帖数: 21010 | 6 我感觉没什么办法,只能自己把数组封装起来了。。
【在 i*****t 的大作中提到】 : 主程序中应该这样调用,问题是子程序中如何处理参数不一致的情况
| e****9 发帖数: 316 | 7 我觉得子程序当中根本就没有办法来检查size不一致。
这就像你手里有一个指针,你怎么能知道后面有多少内容是有效的? |
|