指针数据的赋值问题

kyle 2012-03-19 01:22:45
请帮看下下面这个测试程序问题。。。
#include "stdafx.h"

#include <iostream>

void test(int **ycbcr)
{
int *ptr_y;
int *ptr_cb;
int *ptr_cr;
ptr_y = ycbcr[0];
ptr_cb = ycbcr[1];
ptr_cr = ycbcr[2];

for(int i = 0; i<3; i++)
{
*ptr_y = i;
// ycbcr++;
*ptr_cb = i +10;

*ptr_cr= i +100;
ptr_y++;
ptr_cb++;
ptr_cr++;
}
}

void main()
{
int i,j;
int *y,*cb,*cr;
y = (int*) malloc(100*sizeof(int));
cb = (int*) malloc(100*sizeof(int));
cr = (int*) malloc(100*sizeof(int));
int *ycbcr[3] = {y, cb, cr};
test(ycbcr);
for(i = 0; i<3; i++)
{
printf("y=%d,cb=%d, cr=%d",*y, *cb, *cr);

y++;
cb++;
cr++;
}
}
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyle 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 plshelpme 的回复:]
勤快点,把该FREE的都FREE掉,要么干脆懒到底直接别用malloc.

test(ycbcr);“这样都能编过,我滴神?
[/Quote]

加上了还是一样的结果。这个只是个测试程序而已。如果你修改会怎么修改?
老虎泰格 2012-03-19
  • 打赏
  • 举报
回复

勤快点,把该FREE的都FREE掉,要么干脆懒到底直接别用malloc.

test(ycbcr);“这样都能编过,我滴神?

W170532934 2012-03-19
  • 打赏
  • 举报
回复
这个测试程序想搞什么??没有看懂。还有你在程序退出的时候记得free哦。
kyle 2012-03-19
  • 打赏
  • 举报
回复
其实就是一个指针的传递问题,中间的其他指针变量是为了保持首地址不变

69,369

社区成员

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

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