1. 宏定義
宏 <==> 替換
#define MY_MACRO " a %s\n"
int main(){
char *m = "macro";
printf("This is" MY_MACRO, m);
return 1;
}
// This is a macro
2. 大小端
低地址__________高地址
大端機器:0x12 0x34 0x56 低位放到高內存地址
小端機器:0x56 0x34 0x12 低位放到低內存地址
// 兩種方法判斷大小端
void func1()
{
int i = 0x12345678;
if(*((char*)&i)==0x12){
printf("func1 says Big endian!\n");
}else{
printf("func1 says Little endian!\n");
}
return;
}
void func2()
{
union _u{
int i;
char c;
}u;
u.i = 1;
if(u.c ==1){
printf("func2 says Little endian!\n");
}else{
printf("func2 says Big endian!\n");
}
return;
}
int main()
{
func1();
func2();
return 1;
}