#include <stdio.h> #include <stdlib.h> #define M 7 #define N 3 int main() { int a[M]={1,3,5,7,9,11,20}; int b[N]={2,6,8}; int c[M+N]={0}; int i=0; //a的下标 int j=0; //b的下标 int zu_he=0; //组合下标 while(i<M&&j<N) { //谁小谁谁放进去自身并且增加 if(b[j]<a[i]) { c[zu_he++]=b[j++]; } else { c[zu_he++]=a[i++]; } } //谁先跳出来,另一个就继续接力 if(i == M) while(j < N) c[zu_he++]=b[j++]; if(j == N) while(i < M) c[zu_he++]=a[i++]; for(int i=0;i<M+N;i++) printf("%d\n",c[i]); system("pause"); }
//数组int array[4][3] array+1加了16个字节(int[3] array[4]) array[1]+1加了4个字节(*(array+1)+1)
) /*指针部分总结*/ //内存是以字节为单位进行编址的,不是以位(bit) //&--reference 引用/取地址符,取出的地址是有类型的 如int a &a==(int*)(0x a的十六进制代码) //指针的本质有类型的地址 /* 1、大小端是不同的对于数据在内存地址中的存放方式,不同的处理器(平台)的数据存储方式是不同。的如果 实现跨平台通信则大小端是不能忽视的问题。 大端模式:数据的高位存储在内存的低字节。ARM/PowerPC等处理器采用大端模式 小端模式:数据的地位存储在内存的低字节。Intel架构处理器采用小端模式。 如一个数据:0x12345678;对应内存地址是0x00~0x03。 大端模式 小端模式 地址:0x00 0x01 0x02 0x03 地址:0x00 0x01 0x02 0x03 数据:0x12 0x34 0x56 0x78 数据:0x78 0x56 0x34 0x12 */