结构体之指针操作(内含嵌套结构用法)

2022/1/27 23:08:49

本文主要是介绍结构体之指针操作(内含嵌套结构用法),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include<stdio.h>
#define LEN 20
struct names{
              /*这里的strucr names可以理解成 我们使用的int 只是一个类型*/
	char first[LEN];
	char  last[LEN];
};

struct guy{
		   struct names handle; 
    char  favfood[LEN];
    char      job[LEN];
    float       income;
}; 
 
int main(void)
{
	struct  guy fellow[2] ={    //struct guy类型定义数组fellow
		{
		    {"EWEN","Villard"},
		     "grilled salmon","personality coach",
		      5201314.1111
		},

		{
			{"Rick","Judy"},
			 "tripe","footbal",
			  1433223.666
		},  
	};
	struct guy *him;                         // 用struct guy类型定义定义 him指针
	printf("address #1 %p  #2 %p\n",&fellow[0],&fellow[1]);	我们留意一下它的地址
    him = &fellow[0];            // 指针指向我们的fellow(这里要注意&)
   	printf("address #1 %p  #2 %p",&him,&him+1);	
  
     /*这里有一个新的知识点
     我们如何用him访问fellow[O]的一个成员的值呢?
     使用新的运算符 ->  通俗的来说 在XX->(中)的一个从成员 */

   	printf("him->income is %。2f.\n",him->income) ;
                          
   	printf("*(him).income is %.2f.\n",(*him).income) ;// him=&fellow[0]   *him=fellow[0]
       // 这里是访问 结构体的另外的一种方式 认识就可                                               
	printf("him->favfood is %.2s.\n",him->favfood) ; //fellow[0].income == (*him).incom	  	
	return 0;
}



这篇关于结构体之指针操作(内含嵌套结构用法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程