arrays - 将方法调用中的 int[] 初始化为参数
问题描述
我有这样的方法:
int find_min(int[]){
//Do Something
}
我必须这样打电话:
int distance = find_min({1,2,3});
我该怎么做?
解决方案
我有这样的方法:
C 没有方法,只有函数。
要将整数数组传递给函数,可以将其作为指针或数组传递。不管怎样,你必须给它一个名字。
- 作为指针
int find_min(int *foo)
- 作为一个数组
int find_min(int foo[])
两者的问题是您不知道数组有多大。您还必须传递数组的大小。
int find_min(int foo[], size_t size) {
int min = INT_MAX;
for( size_t i = 0; i < size; i++ ) {
if( foo[i] < min ) {
min = foo[i];
}
}
return min;
}
调用它,你几乎在那里。数组语法{...}
用于初始化。您需要先将其分配给一个变量。
int a[] = {3, 1, 2};
int min = find_min(a, 3);
printf("%d\n", min);
您也可以使用 C99 中引入的“复合文字”,但最好暂时将其留作好奇。
int min = find_min((int []){3, 1, 2}, 3);
推荐阅读
- python-3.x - 在MAC中使用python提取.msg文件中的表数、图像数
- amazon-redshift - Redshift - 查找相同ID的行之间的差异
- php - 如何使用此数据编写 CSV 文件
- oracle - Oracle Apex 中具有动态操作的按钮单击事件
- internationalization - 语言相关的 DNN 起始页
- python - 将 python 列表导出到 csv
- php - 如何在php会话中存储来自php表单的用户输入
- c# - Bot Framework v4.4.3 更新技能清单模板
- java - ibm 集成总线上的 Db2 驱动程序问题?
- react-native - 加载页面没有问题