| 1.在发生调用函数,且涉及到返回值时,数组型和整数型(或其他类型)的区别。 
 #include<stdio.h>
void exchange(int a, int b)//这个函数实现了,对a与b的值进行调换
{
        int t = 0;
        t = a;
        a = b;
        b = t;
}
int main()
{
        int a = 2;
        int b = 3;
        exchange(a, b);      //此函数执行之后, a与b的值会发生调换吗?
        printf("a=%db=%d", a, b);
        return 0;
}
逆向学习第13天_全局变量与数组(下)   
 逆向学习第13天_全局变量与数组(下)   仔细观察a与b的地址变化(由于动图录制掌握不熟练,后期学习一下)
 
 逆向学习第13天_全局变量与数组(下)   我们可以看到,更换的只是调用参数中的a b的值,实际main()函数中的a b的值并没有受到影响
 ---------------那我们接着看数组的情况-------
 #include<stdio.h>
void add(int a[10])  //将数组中的值都加1
{
        int i = 0;
        while (i<9)
        {
                a[i] += 1;
                i++;
        }
}
int main()
{
        int a[10] = { 1,3,5,7,9,11,13,15 ,17 };
        add(a);
        return 0;
}
 逆向学习第13天_全局变量与数组(下)   
 逆向学习第13天_全局变量与数组(下)   
 逆向学习第13天_全局变量与数组(下)   
 逆向学习第13天_全局变量与数组(下)   
 逆向学习第13天_全局变量与数组(下)   数组做参数的时候,性质已经改变了,本质上只传递了数组的地址(指针)给形式参数。  等学到指针再返回来研究一下。贴一张图
 
 逆向学习第13天_全局变量与数组(下)   
 逆向学习第13天_全局变量与数组(下)   2.sizeof()与strlen()函数,在处理字符数组时候的区别
 sizeof()取的是所占字节数,包括结尾字符\0
 strlen()函数必须得声明头文件#include<string.h>  他取的字节数不包括\0
 下面以实例来分析:
 
 逆向学习第13天_全局变量与数组(下)   |