typedef struct p_node
{
int x;
int y;
struct p_node *p_node;
}P_node;
typedef int (*pfun)(int);
int add(int a){
printf("fun:%d\n", a + 2);
return a + 2;
}
typedef int arr4[4];
int main(){
int a[4]={0x10004321,0x00000002,3,4};
int *ptr1=(int *)(&a+1);
int *ptr5=(int *)(&a);
int *ptr2=(int *)((int)a+1);//把地址变成整数+1在变成指针,就是在原来指针移动一位,普通的指针会移动四位
int *ptr4=(int *)(a+1);
printf("%x,%x,%x,%x\n",ptr1[-1],*ptr2,ptr4[0],*(ptr5+1));//看大小端
char *ptr3 = (char *)((int)a);
printf("%x\n", *(ptr3+1));
P_node pnode;
P_node node;
node.x = 10;
pnode.p_node = &node;
printf("node:%d\n", pnode.p_node->x);
pfun fun;
fun = add;
(*fun)(2);
fun(2);
arr4 u;//typedef 数组
u[0] = 2;
u[1] = 2;
u[2] = 2;
return 0;
}
![]()