数组作为函数的参数,他吗的,越往后越不好理解,都没地方发牢骚,哎C语言之各种参数问题_C语言

#include <stdio.h>
#define world 5

void hello(int []);

int main(void)
{
    int i;
    n[world] = {1,2,3,4,5};  
    hello(n);
    
    for(i = 0;i < world;i++)
    {  
        printf("%d",n[i]);
    }
    printf("\n");
    
    return 0;
}

void hello(int t[])
{
    int i;
    for(i = 0;i < world;i++)
//    {
        t[i] = i + 5;
//        printf("%d",t[i]);
//    }
//    printf("\n");
}

/* 可以看出,定义区和功能区的数组名称可以不同,但是像上面的这种情况必须要名称一致 */
/* 上面的循环要么定义去直接循环好,要么两处都需循环 */

再写个指针作为函数的参数,如下:

#include <stdio.h>

void hello(int *);

int main(void)
{
    int i = 50;
    hello(&i);
    printf("%d\n",i);

    return 0;
}

void hello(int *n)
{
    *n = 10;
}

//运行的结果是10