UDP socket : read error Bad address

在写UDP server。在调用套接字读取的时候发生了这个错误。 通过看errno.h 能够看到相应的错误号  EFAULT:
Bad address (POSIX.1),在stackoverflow上看到的这个解释不错:
It happen if the memory address of some argument passed to sendto (or more generally to any system call) is invalid. Think of it as a sort of SIGSEGV in kernel land regarding your syscall. For instance, if you pass a null or invalid buffer pointer (for reading, writing, sending, recieving...)。说明在对套接字上调用某些函数的时候传入了空指针等非法參数,的确如此。
关于错误errno  EFAULT:Bad address_空指针