结构体 变量 变量数组 指针 二级指针 二级数组 正确声明方法

#include 

typedef struct at{
	int a;
}e,*b,c[1];

void adc (e aa,e aaa[],b bb,b *bbb,c cc[]){

   aa.a =0x1;
   printf("%d \n",aa.a);
   
   aaa[0].a = 0x2;
   printf("%d \n",aaa[0].a);

   (*bb).a=0x3;
   printf("%d \n",bb->a);
   
   (*bbb)->a=0x4;
   printf("%d \n",(*(*bbb)).a);
   
   cc[0][0].a = 0x5;
   printf("%d \n",cc[0][0].a); 	 
}
int main()
{
	b as,*asa;            //指针,二级指针 //*a **a
	e bb,aa[10];         //变量 ,变量数组// a a[]
	c ccc[10];            //二维变量数组//   a[][]
	
    as=&bb;                      //指针需要赋值再用 
    asa=&as;                      //指针需要赋值再用 
    
   adc(bb,aa,as,asa,ccc);
   return 0;
}
二级数组编译错误 不用typedef
#include 

struct at{
	int a;
}e,c[1],*b,**bb,cb[1][1];

void adc (struct at aa,struct at aaa[],struct at *bb,struct at **bbb,struct at *cc[]){

   aa.a =0x1;
   printf("%d \n",aa.a);
   
   aaa[0].a = 0x2;
   printf("%d \n",aaa[0].a);

   (*bb).a=0x3;
   printf("%d \n",bb->a);
   
   (*bbb)->a=0x4;
   printf("%d \n",(*(*bbb)).a);
   
   cc[0][0].a = 0x5;
   printf("%d \n",cc[0][0].a); 	 
}
int main()
{	
    b=&e;                      //指针需要赋值再用 
    bb=&b;                      //指针需要赋值再用   
   adc(e,c,b,bb,cb);
   return 0;
}

你可能感兴趣的:(结构体 变量 变量数组 指针 二级指针 二级数组 正确声明方法)