大小端
#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;
}