C语言,怎样把数组的首地址赋给另一个数组

我用postthreadmessage发送一个数组的首地址,我想让接收方收到后将这个首地址赋给另一个数组RevTSN,也就说让RevTSN中存放和发放数组中相同的数据:
RevTSN=msg1.wParam;这样提示错误,那我应该怎么传这个数组?

    不能把数组的首地址赋给另一个数组。因为数组名是常量指针类型,初始化之后是不能够被修改的。

    有两种办法实现类似功能,一种是创建指针变量,把地址直接赋值指针变量:

    例如 int a[100]; int *b=a;

    第二种就是直接用循环一一复制每个元素。

    例如 for(i=0;i<strlen(a);i++) b[i]=a[i];

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-06
提示错误,提示的错误应该是类型不匹配,一个是地址,一个是非地址类型的地址。你需要一个数组保存的变量类型是地址,那就应该定义成指针数组类型;

如:char *apczArry[10] ; 此时就可以把一组字符串变量的地址赋给数组。说白了就是这个数组存的数据就是地址,只是以这个地址开始的空间内存的是字符串的变量
第2个回答  2012-11-06
数组名是常量指针,所以你对RevTSN赋值是错误的
这里只能通过值的逐一拷贝到RevTSN中

p = msg1.wParam;
RevTSN[i++] = *p++;追问

这个p是指针吗?

追答

是的,类型同你数组元素类型一致

本回答被提问者和网友采纳
相似回答