1.memcpy:
从a数组中复制k个元素到b数组:
memcpy(b,a,sizeof(int)*k);
#include<cstring> #include<iostream> #include<cstdio> using namespace std; int a[10],b[20]; int main(){ for(int i=0;i<10;i++) cin>>a[i]; for(int i=0;i<10;i++) cin>>b[i]; memcpy(b,a,sizeof(int)*5); for(int i=0;i<20;i++) cout<<b[i]<<" "; }
【输入】
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
【输出】
1 2 3 4 5 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0
(b数组的值被更新了,上面的话b数组的前k个值就被赋值变成了a数组的前k个值【从0开始qwq】b数组其他值不变)
将a全部赋值给b:
memcpy(b,a,sizeof(a));
#include<cstring> #include<iostream> #include<cstdio> using namespace std; int a[10],b[20]; int main(){ for(int i=0;i<10;i++) cin>>a[i]; for(int i=0;i<10;i++) cin>>b[i]; memcpy(b,a,sizeof(a)); for(int i=0;i<20;i++) cout<<b[i]<<" "; }
【输入】
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
【输出】
1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0
为什么突然写这个,因为用到了啊qwq(我是不会告诉你人家是题解上用的qwq)
2.数据类的东西吧qwq:
①int范围的无穷大:INT_MAX,无穷小INT_MIN。
②memset赋值:可以正常赋值的:-1,0;神奇的赋值:(一个很大的数)0xfff(大概几个f是没问题的qwq)