1.设计一个 C 函数,若处理器是大端序的则返回 0,若处理器是小端序的则返回 1。
小端序: 低字节存储在低位,高字节存储在高位
大端序: 高字节存储在低位,低字节存储在高位
int main()
{
//两字节的数据
unsigned short a=0x1234;
//定义指针指向变量
unsigned char *p=(unsigned char *)&a;
//获取的内容
printf("p:0x%x\n",*p);
printf("p:0x%x\n",*(p+1));
//判断
if(*p == 0x34)
{
return 1
}
else
{
return 0;
}
}
2.声明一个二维 int型数组a,再声明另一个一维数组指针数组,使该数组的每一个指针分别指向二维数组中的每一个元素,(即每一个一维数组),然后利用数组 b 计算数组 a 的和.
void homework1()
{
int buf[3][3]={1,2,3,4,5,6,7,8,9};
int *p[3],i,j,sum=0;
for(i=0;i<3;i++)
{
p[i]=buf[i];
for(j=0;j<3;j++)
{
sum+=p[i][j];
}
}
printf("%d\n",sum);
}