请问char*与unsigned char*传参不同会有问题吗

科比布莱恩特 2020-01-11 04:46:10
typedef unsigned int uint32;
typedef unsigned char uchar;
typedef const uchar kuchar;
typedef const char kchar;

char * buff = apr_pcalloc(sc->pool, param2_len*2*1024);
uint32 buff_len = param2_len*2*1024;

//调用
ret = S_EnData(g_ctx,data_param1,data_param1_len,param2,param2_len,buff,&buff_len);

//函数声明
int S_API S_EnData(sof_ctx_t *sctx, uchar *user_cert, uint32 user_cert_len,
kuchar *ind, uint32 ind_len,
uchar *outd, uint32 *outd_len)


buff定义为char*型,而S_EnData的参数位置为uchar*型,请问这样传递参数会不会有问题?\0会被截断吗?
...全文
208 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
柒贰伍玖 2020-01-11
  • 打赏
  • 举报
回复
你传的什么数据过去,用的时候记得用相应的指针去取就好,中间传递过程可以不用考虑指针类型
柒贰伍玖 2020-01-11
  • 打赏
  • 举报
回复
没有影响,同一平台上,指针类型的大小相同,不会发生截断造成地址变动丢失数据,更不会造成数据变更
柒贰伍玖 2020-01-11
  • 打赏
  • 举报
回复
不会,只是会影响到指针类型,不会动到里面的数据的

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧