首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从外部c文件的函数返回*uint8_t (数组)到main.c

如何从外部c文件的函数返回*uint8_t (数组)到main.c
EN

Stack Overflow用户
提问于 2019-08-08 15:18:05
回答 1查看 903关注 0票数 1

我想找到一种从函数uint8_t *hex返回.I指针的无错误方法--有3文件main.cfunction.cheader.h

main.c

代码语言:javascript
代码运行次数:0
运行
复制
 uint8_t *hex;
 my_ftn(a,b,c,d,&hex);

函数.h

代码语言:javascript
代码运行次数:0
运行
复制
void my_ftn(int a,int b,int c,int d,uint8_t *hex);

函数.c

代码语言:javascript
代码运行次数:0
运行
复制
void my_ftn(int a,int b,int c,int d,uint8_t *hex){
   ...
   ...
   a=64;
   hex=malloc(a);  //let a= 64;
   for(i=0;i<a;i++)
     hex[i]= some values;
}

我想将值hex[i] ,(i=0 to a)返回给main.c。

注意:返回类型的my_ftn(函数)必须无效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 15:20:57

如果变量hex是在main中声明的,如下所示

代码语言:javascript
代码运行次数:0
运行
复制
uint8_t *hex = NULL;

然后以下列方式声明该函数

代码语言:javascript
代码运行次数:0
运行
复制
void my_ftn(int a,int b,int c,int d,uint8_t **hex){
                                    ^^^^^^^^^^^^^
   ...
   ...
   a=64;
   *hex=malloc(a);  //let a= 64;
   for(i=0;i<a;i++)
     ( *hex )[i]= some values;
}

即通过引用传递指针。

就像你已经写的那样

代码语言:javascript
代码运行次数:0
运行
复制
my_ftn(a,b,c,d,&hex);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57415871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档