C语言非自动数组是什么,C语言数组的自动初始化 有没什么模式(类似于享元模式之类)?...

C语言数组的自动初始化 有没什么模式(类似于享元模式之类)?0

Demo_1:

#include

int main()

{

int a[5]={6,2,3,4,5};

int b[5];

int d[6]={0};

printf("数组d中的内容*****\n");

for(int j=0;j<6;j++)

printf("%d\t",d[j]);

printf("\n");

printf("数组a中的内容*****\n");

for(int i=0;i<5;i++)

printf("%d\t",a[i]);

printf("\n");

printf("数组b中的内容*****\n");

for(int n=0;n<5;n++)

printf("%d\t",b[n]);

printf("\n");

printf("数组b中的内容*****\n");

for(int k=0;k<5;k++)

printf("%d\t",b[k]);

return 0;

}

/*

----------------运行结果-------------------

数组d中的内容*****

0       0       0       0       0       0

数组a中的内容*****

6       2       3       4       5

数组b中的内容*****

6       2       3       4       5

数组b中的内容*****

6       2       3       4       5       Press any key to continue

*/

Demo_2

#include

void show()

{

int c[5];

printf("数组c中的内容*****\n");

for(int j=0;j<5;j++)

printf("%d\t",c[j]);

printf("\n");

}

int main()

{

int a[5];

int b[5];

int d[6];

printf("数组d中的内容*****\n");

for(int j=0;j<6;j++)

printf("%d\t",d[j]);

printf("\n");

printf("数组a中的内容*****\n");

for(int i=0;i<5;i++)

printf("%d\t",a[i]);

printf("\n");

printf("数组b中的内容*****\n");

for(int n=0;n<5;n++)

printf("%d\t",b[n]);

printf("\n");

show();

printf("数组b中的内容*****\n");

for(int k=0;k<5;k++)

printf("%d\t",b[k]);

return 0;

}

/*

----------------运行结果-------------------

数组d中的内容*****

4201441 2048    4       0       4201628 4222976

数组a中的内容*****

4201441 2048    4       0       4201628

数组b中的内容*****

4201441 2048    4       0       4201628

数组c中的内容*****

1244972 4223160 0       1245000 2147303424

数组b中的内容*****

4201441 2048    4       0       4201628 Press any key to continue

*/

在Demo_2中并不会自动初始化为0,而在Demo_1中当有一个数组有有效值时,为初始化的数组也都自动初始化为存在有效值的数组的值。这里面是不是有什么设计模式之类的呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值