2024-09-08 13:24:20
我已经试过了,无果。
还请指导。
我需要传整个结构体数组的指针进去。
linux 环境
就是传device_socke这个。,。。。还不行 代码发来我看看,,,函数入口那个地方
int socket_server(struct _DEVICE_LIST *device)函数
调用 socket_server(&device_socket);
如果不传指针可以用,但是这样操作有N多错误!
麻烦你了。
这个不加&
应该是这样socket_server(device_socket);
我觉得很奇怪啊,我在函数里面改了,在函数外面读出来是对的,但在函数外面读却还是不对的。
参数好像没有被修改。请问知道是什么原因吗?
linux 环境 使用新的线程操作的,应该跟线程那些都没关系把。
你在函数里面改的什么?你这样传的话 修改数组里面的数据是可以的,,别的也不用修改啊,,,
struct _DEVICE_LIST
{
char *name;
char *id;
int socket;
char *ip;
char *device;
int status;
};
原型
struct _DEVICE_LIST device_socket[BACKLOG] = {
{"2200", "220", 0, "10.0.1.89", "2200", 1},
};
初始化
device[i].socket = socket;
device[i].status = Status_LINK; 函数内的操作
将参数打印出来发现修改成功,但在函数外面却发现参数没变。
刚刚发现因为我将指针进行了2次传递,修改无效。传递一次修改有效的
看你这样 操作应该没啥问题 不会出现修改不了的情况啊
2024-09-08 12:51:31
2024-09-08 14:24:53