#include
#include
#include
using namespace std;
int main(void)
{
int a[16];
int b[10];
for(int i=0;i<16;i++){
cin>>a[i];
}
memcpy(b,a,sizeof a);
for(int i=0;i<16;i++){
cout<<b[i]<<" ";
}
cout<<endl<<b[15];
return 0;
}
输入数字
1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16
输出结果
1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16
16
貌似不会,你给内存多大他就是多大
在C语言中,数组的大小一旦声明后,就是不可更改的,所以,数组b的长度就是10,数组a的长度就是16,永远不会改变。
当然,可以使用动态申请的方式来改变数组大小。参考如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *a; //这里声明的是指针
a = (int *)malloc(16*sizeof(int)); //申请16个int空间
//调整a的长度
a = realloc(a,20*sizeof(int)); //将a的空间大小扩展到20个int大小
free(a); //释放a申请的空间
return 0;
}