memset(&msg, 0, sizeof(msg)); int ret = read(READ_SOCK, &msg, sizeof(msg)); if(ret < 0) { SUBSCRIBER_LOG("failed to select, %s\n", strerror(errno)); } subscriber_msg_action(&msg); } close(READ_SOCK); pthread_exit(NULL); } こ...
#概要C言語でコーディングする上で気をつけている点などをまとめて見ました。但し、書き方は人それぞれなので違和感を覚える人もいるかもしれませんが、もし間違っている点がありましたらご指摘お願い致し…
#include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> int main(int argc, char const *argv[]) { struct addrinfo hints; struct addrinfo *res, *tmp; char host[256]; memset(&hints, 0, sizeof(struct addrinfo)); hints.ai_family ...
bzero は減価償却された関数であり、最近のコードベースでは使用すべきではません。しかし、memset の操作は explicit_bzero とは対照的にコンパイラによって最適化できます。memset は3つの引数を取ります。メモリアドレス。 メモリを埋める定数バイト。 上書きするバイト数。memset はメモリ...
そのため、この値はmemsetの引数に求められるvoidポインタに、さらにキャストすることはできず、warningが出ます。さらに、char *str = "rei";とchar[] str = "rei"の違いを考えるとわかってきます。前者では、"rei"というイミュータブルな変数がアドレス上に確保され、それに対するポイ...