1.int32 a;
(1)设置bit3
(2)清除bit3
(3)获取a的高八位的值和低八位的值
(4)将数据存入高八位
解答:
#define BIT3 (0x1<< 3)
static int a;
void set_bit3(void)
{
a |= BIT3;
}
void clear_bit3(void)
{
a &= ~BIT3;
}
#include <stdio.h>
#include <stdlib.h>
char right,left,temp;//right表示第八位,left表示高八位
int size_right,size_left,size_temp;
short int number,size_number;
short int number_two,number_three;
//int 是四个字节 short int 是两个字节
int main()
{
number =32343; //65536个数范围是 -32768-32767
right = number&0XFF;//低八位
left = number>>8;//高八位
printf("right = %d\n",right);
printf("left = %d\n",left);
printf("number_two=%d\n",left*256+right);
//前取高八位,在取低八位
left=(number>>8)&0XFF; //先取高八位
right=number&0XFF; //再取第八位
printf("number_two=%d\n",left*256+right);
//现在要把高八位和第八位合并
number_three=left;
number_three<<=8;
number_three|=right;
printf("number_three=%d",number_three);
return 0;
}
2.将12存入内存地址为0x80000000中,代码
{
int*p =NULL;
p=0x80000000;
*p =12;
}
//or
*((void *)0x80000000)=12;
3.实现库函数字符串复制函数
void strCopy(char *src,char *dest)
{
if(src==NULL || dest==NULL)
return ;
char *tmp1=src;
char *tmp2=dest;
while((*tmp2++=*tmp1++))
;
}
4.链表的删除与插入;
5.结构体对齐的内容;
6.动态申请内存需要注意什么 https://blog.csdn.net/feihangdan/article/details/79656567