てきとうなメモ

本の感想とか技術メモとか

C

gethostbynameの引数にipアドレスを指定した場合の動作

#include <stdio.h> #include <netdb.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(int argc, char **argv) { struct hostent *host = gethostbyname(argv[1]); printf("h_name = %s\n", host->h_name); printf("ip = "); for (char **addrp = host->h_addr_list; *addrp != NUL</arpa/inet.h></netinet/in.h></sys/socket.h></netdb.h></stdio.h>…

コーディング規約におけるif文の中括弧

世の中のコーディング規約的にはどうなのかなと思ったのでちょっと調べたら中括弧付ける方が多い気がする。 C or C++ Google In general, curly braces are not required for single-line statements, but they are allowed if you like them; conditional o…

if文の中括弧

コーディングスタイル論争「カッコを省略するな」が出るたびに思う事私はコーディング規約で決まっていなければ括弧は使わない派かな。中括弧を使わないと if (cond) statement; と書いていた時に、条件分岐中の処理を増やそうとして if (cond) statement; s…

GCCの#pragma

C

昔のGCCは#pragmaを見つけるとrogue,hack,ハノイの塔(emacs上で)を実行していたらしい。#pragmaは標準ではなく処理系依存だから何をしても良いだろうということみたい。というのが「エキスパートCプログラミング」に書かれてあった。で、この本にはgcc-1.34…

C言語におけるバックスラッシュ

C

The most stupid C bug ever « elpauer 2つめのバックスラッシュの話で、例えば以下のコードは何も実行しない int main() { // comment \ printf("hoge\n"); } なんだけども、これは仕様なのか。 2. Each instance of a backslash character (\) immediately…

0xe-0xe

C

「0xe-0xeはゼロという迷信」は本当なの? - kazuhoのメモ置き場 [迷信] 0xe-0xe はゼロ | 株式会社きじねこ Cの仕様(pdf)の6.4.2や6.4.8を見ると pp-number: digit . digit pp-number digit pp-number identifier-nondigit pp-number e sign pp-number E s…