c语言结构体多次调用错误,C语言在使用中遇到了一个结构体赋值失败的问题?...
我有一个A类:
定义了一个结构体
typedef struct
{
int sockfd;
on_av_frame_cb av_frame_cb;
on_av_frame_cb rtp_cb;
on_error_cb error_cb;
uint8_t *p_buf;
uint8_t *v_buf;
uint8_t *a_buf;
int rtp_flag;
}udp_client_t;
然后我再B类中调用:
static udp_client_t client;
int jldv_create_client(int src_port,int port ,const char *dst_ip){
udp_client_t *udpClient = &client;
assert(udpClient != NULL);
const char *c_ip = dst_ip;
memset(udpClient, 0, sizeof(udp_client_t));
int ret = create_client(src_port, port, c_ip, &udpClient);
if (ret != 0) {
goto err_output;
}
udpClient->av_frame_cb = (on_av_frame_cb )onVideoFrame;
udpClient->error_cb = on_error;
if (rtp_create(&udpClient) < 0) { ///问题所在之处
goto err_output;
}
printf("rtp_client:%d \n",udpClient->rtp_flag);
return 0;
err_output:
destroy_client(udpClient);
return -1;
}
在上述的问题所在之处中,我使用了C类的方法:
int rtp_create(udp_client_t **data)
{
logi("%s", __func__);
udp_client_t *udpClient = *data;
if(udpClient)
{
udpClient->rtp_flag = 1;
memset(&rtp_cxt, 0, sizeof(rtp_context_t));
int ret = init_server();
if (ret < 0)
{
return -1;
}
rtp_cxt.nalu = alloc_nalu(MAX_FRAME_SIZE);//为结构体nalu_t及其成员buf分配空间。返回值为指向nalu_t存储空间的指针
if (!rtp_cxt.nalu)
{
loge("alloc nalu failed");
return -2;
}
}
else
{
loge("%s: data is null", __func__);
return -3;
}
printf("udpClient after==>%d \n",udpClient->rtp_flag);
return 0;
}
然而打印的结果却是:
udpClient after==>1
rtp_client:0
这是为什么?
是我使用的不对吗?求解各位大神。。
c语言结构体多次调用错误,C语言在使用中遇到了一个结构体赋值失败的问题?...相关推荐
- c语言中定义结构体指针并指向一片内存空间和直接定义一个结构体变量的区别 Node *p=(Node *)malloc(sizeof(Node)); 和 Node p 两个有什么区别??? Node是一
(来自百度解答) Node *p是定义一个Node结构体指针,指针名为p,指向一个Node结构体,并为这个结构体分配了内存空间 该结构体无命名 Node p是定义一个Node结构体,结构体名为p. 追 ...
- c语言编译器可以查出所有什么错误,C语言编译器的错误信息
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Not a valid expression format type 不合法的表达式格式 Not an allowed type 不允许使用的类型 Num ...
- c语言编程过程中的常见错误,C语言编程常见错误与解决办法
warning: excess elements in array initializer 警告:数组初始值设定项中有多余元素 (定义的数组长度比赋值的个数小) 数组定义出错 "confli ...
- c语言结构体一年的第几天是排卵期,定义一个结构体变量,计算日在本年中是第几天...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 include struct { int year; int month; int day; } void main() {int i,d ...
- c语言实现输入输出功能需要调用库函数,C语言学习笔记(二)
格式字符的输入和输出 1.C语句的分类 1)控制语句 if...else ; continue ; switch ; break ; for(....) ; goto ; while(....) ...
- c语言函数内判断嵌套常见错误,c语言不等于(c语言多个if函数怎么嵌套)
其实我想问的是!=和==!有区别吗?我测试了一下,好像一样啊... 初学. 不等于符号就是 != != 是逻辑运算符,这个符号一般不适用于字符串的比较 != a为变量,用if语句检测a(不等于,大于, ...
- c语言函数fun的正确调用语句,c语言的问题若有以下调用语句,则不正确的fun函数的首部是?...
39 若有以下调用语句,则不正确的fun函数的首部是???? main(){... int a[50],n;... fun(n, &a[9]);... a void fun(int m,int ...
- c语言本身有输入输出语句正确错误,C语言模拟选择题
导出试题 1. 以下叙述正确的是. A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句 D) 在对一个C程序进行编译的过程中,可发 ...
- c语言猴子吃桃嵌套调用编程,C语言实现猴子吃桃问题(循环、递归两种方法)...
[问题描述] 猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个:第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第十天,只剩下一个桃子.求第一天猴 ...
最新文章
- tf.keras.losses.Poisson 损失函数 示例
- UVa11464 - Even Parity(递推法)
- python笔记总结_python学习笔记总结(1)
- 【控制】二阶含时滞多智能体系统一致性仿真程序 离散化处理
- System Control Processor Firmware简介
- 未来,让我们一起想象— “Imagine”阿里云视频云全景创新峰会
- 【JVM系列】一步步解析java执行内幕,java初级面试笔试题
- Geekban极客班 第二周
- 电影“我是谁,没有绝对安全的系统“——黑客技术点评
- 等保三级,多级等保认证的一点了解
- 2020-06 前端技术汇总
- 安卓 每日一题 2019年9-12月问题及答案
- 插入k宝显示连接农行服务器失败,农行k宝插到win10电脑上没反应无法转账怎么办...
- 二维码的生成加背景图片的嵌套-支付宝(Java)
- 当贝投影仪安装Youtube\Netflix\Spotify等应用
- 数据结构课程设计——项目1:中国计算机设计大赛赛事统计
- PyMol - script
- 小程序中读取腾讯文档的表格数据
- jQuery练习:使用jQuery获取表单数据,使用弹窗显示。
- DLP客户端显示脱机的问题处理方法
热门文章
- 7820X+RTX2080Ti(Ubuntu 18.04)新机配置记录
- Underfull hbox (badness 10000) in paragraph at lines 83--86
- Spring Security 理解小记
- Mysql得隔离级别
- 用 Chrome 扩展实现修改
- vuejs+webpack环境搭建
- 使用ERStudio创建数据表与ER图
- Csharp develop
- 智慧楼宇物联网公司En-trak获Pre-A 轮融资
- DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)