send()是否允许您传递int数组C.

时间:2015-08-17 04:53:17

标签: c network-programming send

我正在尝试在简单的服务器 - 客户端聊天程序中发送加密邮件。

这是send()电话:

int send(int sockfd, const void *msg, int len, int flags); 

我可以将int数组作为*msg传递吗?

2 个答案:

答案 0 :(得分:2)

我认为您可以使用send()系统调用。但请注意,len消息的长度(以字节为单位)。所以我想一个5 int的数组。您需要将len指定为5*(sizeof(int))

此外,在接收方,您需要相应地解释它。

正如Naveen指出的那样,对你的问题的更详细的答案已经存在here

答案 1 :(得分:1)

是的,您可以将int的数组传递给send()。您被允许这样做的原因是数组在传递给函数时会自动转换为指针。请参阅this previous question

此外,如果需要,C中的任何指针都可以自动转换为void *。 Void指针旨在提供隐式转换。