一些需要注意的C知识点

1.数组在作为参数传递到函数时,会退化为一个指针。也就是说,一旦进入函数内部,数组已经变为了一个指针。其实是在参数传递的时候进行了浅拷贝,编译器会声明一个指针指向该数组,在函数内部所有的操作都是对该临时指针的操作。
代码示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
void fun1(int *a);
void main()
{
    int a[N];
    printf("%d
", sizeof(a));
    fun1(a);
}
void fun1(int *a)
{
    printf("%d
", sizeof(a));
}
View Code

结果:

400
4

------------------------------------------------------------------

原文地址:https://www.cnblogs.com/wenwujuncheng/p/3385443.html