iOS基础知识:数组作为函数的参数
2015-11-04 19:56
337 查看
数组作为函数的参数:
1.定义语法:返回值类型 函数名(类型数组名[]){
函数体;
}
例如: void array(int str[]){
str[0]=10;
str[1]=20;
}
注意:参数里数组名中括号的长度,可写可不写,写了也没用,规范的写法是不写
引用传递:
传递的是地址,就好比是把内存共享了一份给函数特点:在函数内改变了形参的值,那么外面的实参也会发生变化
例如:
void array(int nums[]){
nums[0]=10;
nums[1]=20;
nums[2]=30;
nums[3]=40;
nums[4]=50;
}
int main{
int nums[5] ={1,2,3,4,5};
array(nums);
return 0;
}
数组作为函数的参数是引用传递,因为数组是共享空间的,也就是所谓的引用传递
在函数中遍历数组:
如果在函数内计算这个数组的长度,永远都会等于2,并不是真实的长度解决方法:
如果以后要用数组作为函数的参数,那么必须再加一个参数,用来传入数组的长度
例如:
void array(char chs[],int length){
for (int i=0; i<length; i++) {
printf("%c\n",chs[i]);
}
}
int main{
char chs[] ={'a','b','c','d','e'};
int len= sizeof(chs) / sizeof(char);//计算数组长度
array(chs, len);
return0;
}
注意:
因为数组名是一个地址常量 不能通过数组名直接赋值
1.数组和数组变量之间,不能赋值
例:int nums[5] = {1,2,3,4,5};
int nums2[5] = nums; //报错
2.数组名声明后也不能赋值
int nums[5];
nums = {1,2,3,4,5};
总结:
数组作为函数的参数,形参不需要写长度
必须再加一个参数,让调用者传入数组的长度
数组作为函数的参数,不区分,但是区分类型
相关文章推荐
- IOS typedef 函数指针的用法
- IOS 整体框架类图值得收藏
- iOS 企业账号申请证书和打包ipa
- iOS开发之Auto Layout入门(转)
- iOS中几种本地存储的存储方式
- iOS 获取文件的目录路径的几种方法
- 杨小麦iOS学习笔记--远程推送
- 我的iOS学习历程 - OC第八天
- 我的iOS学习历程 - OC第八天
- C6455上移植SYS/BIOS
- 【11/04】 iOS开发成长之路,【tabelView cell复用】
- Nagios自定义扩展
- iOS替换字符串中的分号为换行符
- iOS开发日常安全防护(一)
- Git 使用规范流程
- iOS开发中邮箱,电话号码,身份证,密码,昵称正则表达式验证
- 正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较
- iOS 应用发布流程
- 致歉
- IOS申请发布证书-图文详解