c语言中变量作实参向形参的数据传递方式,c语言实参与形参传递
在的第一篇博文中
丙:
使用函数调用,从小到大排序字符串string数组,不使用指针和引用,为什么自变量也会变化?
源代码
#包括iostream
#包含字符串
使用命名空间std
int main(){
void排序(string[]);
string array[3]={l , love , c };
排序(数组);
for(int I=0;i3;我)
cout数组[I]“”;
返回0;
}
void排序(字符串s[]){
字符串温度;
for(int I=0;I 2;我)
{
for(int j=0;J2-I;j)
{
if(s[j 1] s[j])
{
temp=s[j];
s[j]=s[j 1];
s[j 1]=temp;
}
}
}
}
编辑
改变后的值就是参数的值,也就是说参数把地址传给了参数。此时参与参数的参数是同一个地址,参数改变时参数也会改变。所以string类的参数是一个指针,它接受字符串第一个字符的地址,数组类型在其中连续线性存储数据。而string类在string数组中存储每个字符串首字母的地址,例如a[3]={I , love , c }其中a[2]是第一个字符串的地址,也就是love的L的地址,这样string类string数组中每个字符串的长度就没有限制了。
这是关于C语言中字符串相对于C语言中数组类型的改进。
电脑魔术师原创作品,博主,转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。