位置: IT常识 - 正文
推荐整理分享c语言中使用指向结构指针的原因(c语言中使用指针的好处),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:c语言中使用指数函数,c语言中使用指针的好处,C语言中使用指针可以直接修改变量的值对吗,c语言中使用指针的优缺点,C语言中使用指针可以直接修改变量的值,c语言中使用指针的好处,c语言中使用指针交换两个数,C语言中使用指针可以直接修改变量的值,内容如对您有帮助,希望把文章链接给更多的朋友!
776
1、指向结构的指针通常比结构本身更容易控制。
2、早期结构不能作为参数传递给函数,但可以传递指向结构的指针。
3、即使可以传递结构,传递指针通常也更有效率。
4、一些用于表示数据的结构包含指向其他结构的指针。
实例
#include<stdio.h>#defineLEN20structnames//定义结构体names{charfirst[LEN];charlast[LEN];;structguy//定义结构体guy{structnameshandle;charfavfood[LEN];charjob[LEN];floatincome;;intmain(void){structguyfellow[2]={//这是一个结构嵌套,guy结构里嵌套了names结构//初始化结构数组fellow,每个元素都是一个结构变量{{"Ewen","Villard","girlledsalmon","personalitycoach",68112.00,{{"Rodney","Swillbelly","tripe","tabloideditor",432400.00;structguy*him;//这是一个指向结构的指针printf("address#1:%p#2:%p\n",&fellow[0],&fellow[1]);him=&fellow[0];//告诉编译器该指针指向何处printf("pointer#1:%p#2:%p\n",him,him+1);//两个地址printf("him->incomeis$%.2f:(*him).incomeis$%.2f\n",him->income,(*him).income);//68112.00//指向下一个结构,him加1相当于him指向的地址加84。names结构占40个字节,favfood占20字节,handle占20字节,float占4个字节,所以地址会加84him++;printf("him->favfoodis%s:him->handle.lastis%s\n",him->favfood,him->handle.last);//因为有了上面的him++,所以指向的是favfood1[1],return0;输出结果为PSD:\Code\C\结构>cd"d:\Code\C\结构\";if($?){gccstructDemo02.c-ostructDemo02;if($?){.\structDemo02address#1:000000000061FD70#2:000000000061FDC4pointer#1:000000000061FD70#2:000000000061FDC4him->incomeis$68112.00:(*him).incomeis$68112.00him->favfoodistripe:him->handle.lastisSwillbelly下一篇:yarn3+vscode使用指南(vscode yaml插件)
友情链接: 武汉网站建设