对a[3]进行初始化,如下代码:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
void SetArray(int []);
int main()
{
int a[3] = {0,16};
printf("before:%d %d\n",a[0],a[1]);
SetArray(a);
printf("before:%d %d\n",a[0],a[1]);
system("pause");
}
void SetArray(int p[])
{
p[0] = 1;
p[1] = 2;
p[2] = 3;
}
结果:
你定义了但是没有初始化
此时分配的内存是不知道什么程序遗留下来的数据
你再运行可能它就又变了
研究它到底是个什么数是没有意义的,你可以把它看做是随机数
数组a在初始化时是一个栈变量,而栈变量没有显式初始化的话,值是未定义的,任何值都有可能,所以第1行的输出每一次都可能不同。