相关疑难解决方法(0)

C - *(long*)(host-> h_addr)是什么; 做?

我在这个例子中找到了以下代码:

addr.sin_addr.s_addr = *(long *)(host->h_addr);
Run Code Online (Sandbox Code Playgroud)

h_addris是一个char指针,host是指向类型结构的指针hostent.addr是类型的结构sockaddr_insin_addr类型是一个结构in_addr.s_addr是一个uint32.

大部分信息可以在这里找到:http://man7.org/linux/man-pages/man7/ip.7.html

我很确定(long)将char转换为long,但我不知道这些额外的星号是做什么的,特别是因为s_addr它不是指针.

有人能解释一下这里发生了什么吗?

c casting

2
推荐指数
1
解决办法
286
查看次数

标签 统计

c ×1

casting ×1