void minmax(int a[], int len, int *min, int *max) {
int i;
*min = *max = a[0];
for(i = 1; i < len; i++) {
if(a[i] < *min) {
*min = a[i];
}
if( a[i] > *max) {
*max = a[i];
}
}
}
//传入min, max地址 通过函数返回了需要的min, max
//传入的参数实际上是要保存待会结果的变量
int main(int argc, const char * argv[]) {
int a[] = {1,2,3,4,5,6,7};
int min, max;
minmax(a, sizeof(a) / sizeof(a[0]), &min, &max);
return 0;
}
传入函数中的数组是传入了什么,其实就是传入了指针,仅仅是样子像数组。
但是可以用数组的[]运算,数组变量是特殊的指针。
int a[] --> int * const a;
const int a[] = {1,2,3,4,5};
数组变量已经是const 又被const修饰表示
数组的每个单元都是 const int
可以保护数组不被修改
*p++
*的优先级没有++高
指针
用来带出来值
修改值
用来动态分配内存
指针到底怎么指
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。