网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

(C/C++)用函数返回一个结构体-创新互联

方法一: 参数里含有指向指针的指针。(C/C++)用函数返回一个结构
体

注意:如果函数参数里只有一个指向结构体的指针,是无法正确地返回结构体的值的。原因在于在编译的时候,会对入参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); }
文章标题:(C/C++)用函数返回一个结构体-创新互联
标题路径:http://bjjierui.cn/article/dcjcej.html

其他资讯