1.举例:使用函数交换两个整形变量的值

运行结果:

分析:< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+Y9Pv0dTW0Mq1vMqyzsr9us3Qzsq9ss7K/dauvOSyydPDJiMyMDU0MDu0q7XdtcS3vcq9wLS0q7Xdyv2+3aGj1Nqxu7X3uq/K/dbQo6zKudPDtcTKx8q1vMqyzsr9tcTSu7j2v72xtMr9vt2ho87Sw8fU2nN3YXC6r8r91tC9u7u7wcthus1io6zEx9a7ysfW97qvyv14o6x5yv2+3bXE0ru49rG4t92jrLK7xNy21G1haW66r8r91tC1xHijrHmy+sn607DP7KOsvs3P8c7Sw8fQ3rjEwcvSu7j2uLTTobz+o6yyu7vhttTUrbz+1OyzycjOus7TsM/soaM8YnI+CjwvcD4KPHA+PHU+0M7KvbLOyv26zcq1vMqyzsr9v8nS1LK7zazD+6GjPC91Pjxicj4KPC9wPgo8cD7KudPDyv3X6df3zqq6r8r9tcTQzsq9ss7K/aOsv8nS1M3qs8nBvbj21fvK/bXEvbu7u6GjtKu13bXEysfK/dfptcTD+9fWo6jK/dfptcS12tK7uPbUqsvYtcTG8Mq8tdjWt6OpPGJyPgo8L3A+CjxoMT4yLsq508PK/dfp1/fOqrqvyv21xLLOyv2jrL27u7vK/b7do7o8L2gxPgo8cD48aW1nIHNyYz0="https://www.cppentry.com/upload_files/article/49/1_xollv__.png" alt="\">
运行结果:

根本的原因就是,数组作为参数的时候,传递的是数组的首地址,而在内存中,地址是唯一的, 无论是在main函数中修改,还是在swap以及其他函数中修改一个地址上的内容,都会对这个地址产生效果。
3.练习:在函数中测试一个参数数组的长度


在一个函数中测试作为形式参数的数组的长度是不能实现的,原因:数组传递的时候传递的是地址。sizeof(地址) = 4.4/4=1。所以,形式参数为数组的时候,我们应该设计成两个参数,一个是数组,一个就是数组的长度。
int f(int a[], int count ,..)
{
}