自己写的代码

大小端

#include <stdio.h>

int main()
{
int a[5]={1,2,3,4,5};
int *ptr1=(int *)(&a+1);
int *ptr2=(int *)((int)a+1);
int *ptr3=(int *)((int)a+2);

printf("%x\n",1);
printf("%x\n",10);


printf("%x\n",a);
printf("%x\n",a+1);
printf("%x\n",a+2);
printf("%x\n",a+3);
printf("%x\n\n",a+4);

printf("%x\n",ptr1);

printf("%x\n\n",&ptr1[-1]);


printf("%x\n\n",ptr2);
printf("%x\n",ptr3);

printf("%x\n%x\n",ptr1[-1],*ptr2);
printf("%x\n",*ptr3);
return 0;
}

 

DEFINE AND TYPE

#include<stdio.h>
#include<iostream>
using namespace std;


typedef int a[10];


int main()
{
//cout<<typeid(a[10]).name()<<endl;
//a[10] a[10];     //error
//a[10] a;   //error
//int a[10];          //int *
//int a1;             //int [10]
//a b[10];            //int (*)[10]
//a b;    //int *
//a* b[10];           //int (* *)[10]
//a*  b;    //int (*)[10]
//cout<<typeid(a).name()<<endl;
cout<<typeid(b).name()<<endl;
return 0;
}

 

局部or静态变量

#include<stdio.h>
#include<iostream>
using namespace std;

static j;

void fun1()
{
 static int i=0;
 i++;
 cout<<"i"<<i<<endl;
}


void fun2()
{
 j = 0;
 j++;

}

int main()
{
 int k;
 for(k=0;k<10;k++)
 {
  fun1();
  fun2();
 }

 cout<<"j"<<j<<endl;
 return 0;
}

 

不详

#include<stdio.h>


union
{
 int i;
 char a[2];
}*p,u;

int main()

 p=&u;
 p->a[0]=0x39;
 p->a[1]=0x38;
 printf("%x\n",p->i);
 return 0;
 
}

 

 

“\”的连接符

#include <stdio.h>
#include<iostream>
#def\
ine MAC\
RO 这是一条合法的\
宏定义

using namespace std;
int main()
{
 int/*...*/
  i;
 char* s="abcdefgh  //hijklmn";      //print s is abcdefgh  //hijklmn
 cha\
r* s="这是一个合法的\\
n 字符串";
 cout<<s<<endl;
 return 0;
}

 

 

常量与宏定义

#include<stdio.h>
#define M 3.1313

//using namespace std;


int main()
{
 const int N=5;
// cout<<"M  "<<sizeof(M)<<endl;
// cout<<"N  "<<sizeof(N)<<endl;
 printf("%d",sizeof(M));
 printf("%d",sizeof(N));
 return 0;
}

 

结构体大小

#include<iostream>
#include<stdlib.h>

using namespace std;

struct a
{
 int i;
 int k[0];
}a_type;


int main()
{
 a_type *  p = (a_type*)malloc(400);
 cout<<"*p  "<<sizeof(*p)<<endl;
 p->i = 1;
 p->k[0]=0;

 cout<<"a   "<<sizeof(a_type)<<endl;
 
 cout<<"*p  "<<sizeof(*p)<<endl;
 return 0;
}

 

 

sizeof的功能

#include<stdio.h>

int main()
{
 char *p =NULL;
 

 printf("p  %d\n\n",sizeof(p));   //4
 printf("*p  %d\n\n",sizeof(*p));   //1

 return 0;
}

 

switch与const

#include<stdio.h>

int main()
{
 const int i =10;
 int a[i] = {12,33,44,5,4,4,42,2,2};
 int j = 12;
 switch(j)
 {
 case i:
  printf("ok\n");
  break;
 default:
     printf("ERROR");
  break;
 }
 return 0;
}

 

switch中的case

#include<iostream>
using namespace std;

int main()
{
 const int f;
 f=1;
 switch(f)
 {
  case 1:
   cout<<f<<endl;
   break;
  case  0:
   break;
 }

 return 0;

}

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值