+ -
当前位置:首页 → 问答吧 → 将一个变量的值赋给数组

将一个变量的值赋给数组

时间:2011-12-07

来源:互联网

如题:我写了带参数的函数,里面定义了一个数组,然后是希望将参数传入后放入数组中,可是我用memcpy却怎么都赋不进去值。请大家帮忙看看。感觉问题很小,但是就是不知道为啥。[color=#FF0000][/color]在线等待、、、
代码如下:char* A(double a,double b,double c)
{
char* p=(char *)malloc(100);
memcpy(p,&a,8);
p+=8;
memcpy(p,&b,8);
p+=8;
memcpy(p,&c,8);
p-=16;
return p;


}

作者: Balana_yan   发布时间: 2011-12-07

p-=16;-->p+=16;

作者: Demon__Hunter   发布时间: 2011-12-07

引用 1 楼 demon__hunter 的回复:
p-=16;-->p+=16;

啊?什么意思啊?我的指针要知道刚开始啊,只能减啊,怎么还在加呢

作者: Balana_yan   发布时间: 2011-12-07

你是怎么知道你赋不进去值的,就你这一小段代码来看没啥问题。把你查看赋值情况的方法说一下吧。

作者: feidaosh   发布时间: 2011-12-07

引用 3 楼 feidaosh 的回复:
你是怎么知道你赋不进去值的,就你这一小段代码来看没啥问题。把你查看赋值情况的方法说一下吧。

就是我单点调试的时候返回的指针指向的内存没有值。

作者: Balana_yan   发布时间: 2011-12-07

是在return p;的时候查看吗??只有那个时候查看p指向的内存,才会有值

引用 4 楼 balana_yan 的回复:

引用 3 楼 feidaosh 的回复:
你是怎么知道你赋不进去值的,就你这一小段代码来看没啥问题。把你查看赋值情况的方法说一下吧。

就是我单点调试的时候返回的指针指向的内存没有值。

作者: bobye1230   发布时间: 2011-12-07

to 5楼:
不是吧,这个是用malloc动态分配的内存,返回的指出来之后还是有值的。我在其他类似的用法已经实践过了。而且我直接给这个数组赋值出来也是有值的,就只是参变量赋值有点问题。

作者: Balana_yan   发布时间: 2011-12-07