结构和其他数据形式 指向结构的指针

 

  
  
  
  
  1. #include<stdio.h> 
  2. #define LEN 20 
  3.  
  4. struct names{ 
  5.        char first[LEN]; 
  6.        char last[LEN]; 
  7. }; 
  8. struct guy{ 
  9.        struct names handle; 
  10.        char favfood[LEN]; 
  11.        char job[LEN]; 
  12.        float income; 
  13. }; 
  14. int main(void){ 
  15.     struct guy fellow[2] = { 
  16.            {{"Ewen","Villard"}, 
  17.            "grilled salmon"
  18.            "personality coach"
  19.            58112.00}, 
  20.            {{"Rodney","Swillbelly"}, 
  21.            "tripe"
  22.            "tabloid editor"
  23.            232400.00 
  24.            } 
  25.     }; 
  26.     struct guy *him;//指向结构的指针  
  27.     him = &fellow[0];//必须使用取地址符号,结构名不是地址!与数组不同  
  28.     printf("address #1:%p #2:%p\n",&fellow[0],&fellow[1]); 
  29.     printf("pointer #1:%p #2:%p\n",him,him+1); 
  30.     printf("$%.2f\n$%.2f\n",him->income,(*him).income);//两种方式获得 ,必须使用圆括号  
  31.     him++;//自增后,地址增加的字节数是一个结构单位的字节数大小  
  32.     printf("%s\n%s",him->favfood,him->handle.last); 
  33.     getchar(); 
  34.     return 0;     
  35. }  

你可能感兴趣的:(数据,include,其他,休闲,names)