从品牌网站建设到网络营销策划,从策略到执行的一站式服务
注意:如果函数参数里只有一个指向结构体的指针,是无法正确地返回结构体的值的。原因在于在编译的时候,会对入参p产生一个备份_p.
创新互联是一家集网站建设,城步企业网站建设,城步品牌网站建设,网站定制,城步网站建设报价,网络营销,网络优化,城步网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。参考此文:http://www.cnblogs.com/kaituorensheng/p/3246900.html
方法二:返回一个指向结构体的函数指针
#include "stdafx.h" #include "stdlib.h" #include "stdint.h" typedef struct Vector3 { int X; int Y; int Z; } Vector3; typedef struct Config { int mode; Vector3 *pData; } Config; void GetConfigData(Config** pConfig) { Config *cfg = (Config *)malloc(sizeof(Config)); cfg->mode = 1; cfg->pData = (Vector3 *)malloc(sizeof(Vector3)); cfg->pData->X = 2; cfg->pData->Y = 4; cfg->pData->Z = 6; *pConfig = cfg; } Config *GetConfigData1() { Config *cfg = (Config *)malloc(sizeof(Config)); cfg->mode = 3; cfg->pData = (Vector3 *)malloc(sizeof(Vector3)); cfg->pData->X = 5; cfg->pData->Y = 7; cfg->pData->Z = 9; return cfg; } int _tmain(int argc, _TCHAR* argv[]) { Config *cfg1 = (Config *)malloc(sizeof(Config)); cfg1->pData = (Vector3 *)malloc(sizeof(Vector3)); GetConfigData(&cfg1); printf("cfg1:%d, %d, %d, %d", cfg1->mode, cfg1->pData->X, cfg1->pData->Y, cfg1->pData -> Z); cfg1 = GetConfigData1(); printf("cfg1:%d, %d, %d, %d", cfg1->mode, cfg1->pData->X, cfg1->pData->Y, cfg1->pData->Z); free(cfg1); }成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图