笔记

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;
}

 

posted @ 2020-12-15 00:18  且将新火试新茶  阅读(50)  评论(0)    收藏  举报