2010-05-01から1ヶ月間の記事一覧

socketプログラム

ソケットプログラムって、設定するパラメータが多くて、どれを選ぶかよくわかんないんだよね。ついでに世の主流がUnixのsoketとWindowsのWinSockの2つがあるから、ますます混乱する。ついでにcygwin上だとどっちの流儀なんだ?というわけだ。 まぁそこは試し…

式を正確に説明するのは面倒だと思ったので軽くメモ。一次式 識別子 定数 文字列リテラル (式) 式 代入式 式, 代入式 ってことは、式は全部代入式ってことじゃん。代入式 条件式 一次式 代入演算子 代入式 って感じで結局すべての式は代入式になっちゃうみた…

条件式 論理的OR式*1 論理的OR式 ? 式 : 条件式 論理的OR式*2 論理的AND式 論理的OR式 || 論理的AND式 なんと論理的AND式は論理的OR式に包含されているとは、、、。論理的AND式 ビットごとの内包的OR式*3 論理的AND式 && ビットごとの内包的OR式 内包的ORと…

Bad System Call

cygwinでメッセージキューを試そうとしたら、"Bad System Call"とよくわからないランタイムエラーが出た。ちょっと調べたら、別の環境ではまりそうだったのでメモ。元ネタはこちら cygwin "Bad System Call" - よそ行き顔でポイントは cygserver-configを実…

Cygwin メッセージキュー

Cygwin上でのメッセージキューの使用は色々制限がありそうで敬遠していた。しかし社内の勉強会で、非同期プログラムを扱いたくて調べてみた。本当はIPでやる方がつぶしが利くのはわかっているが、どうしてもネットワーク周りの知識が必要になる。メッセージ…

ポインタを指すポインタ

最後、もう一度お題を挙げる。 以下の違いを説明せよ。 1)int a[2][3]; 2)int a[3][2]; 3)int *a[3]; 4)int (*a)[3]; 5)int **a; 最後にポインタのポインタ。俗にダブルポインタなどと言ったりする。4)に比べれば、割となじみがある。呼び出し先で、ポインタ…

文字列代入?

文字の代入 - Programming22 おとなり日記で見つけたのでコメントする。 char str1[5]; char str2[] = "tekitou"; char *str3 = "tekitou2"; str1 = str2; /*error*/ str1 = str3; /*error*/ str3 = str2; /*OK*/ 静的配列で確保したstr1は str1 = str2; /*…

配列を指すポインタ

さて三度、お題を再掲する。 以下の違いを説明せよ。 1)int a[2][3]; 2)int a[3][2]; 3)int *a[3]; 4)int (*a)[3]; 5)int **a; 1)〜3)まではすでに述べた。今回は4) int (*a)[3];を取り上げる。 このときのaの型はint[3]を指すポインタとなる。1)〜3)は配列…

SWAPマクロ改良

主な変更点 コメント整備 入れ替えるオブジェクトのサイズチェックを行い、サイズが異なる場合、入れ替えを行わないに修正。 サンプルドライバ結果表示の改善 識別子が衝突しにくいように、一時変数名、型名を長くした。 #include <stdio.h> /* オブジェクトa, bの値</stdio.h>…

配列の配列

C言語で配列とポインタの理解は第一関門だと思う。私が、C言語のスキルを試すときによくやる質問は次のような物だ。 以下の違いを説明せよ。 1)int a[2][3]; 2)int a[3][2]; 3)int *a[3]; 4)int (*a)[3]; 5)int **a; 普通にCを書ける人でも、これに満足に答…

ポインタの配列

前のエントリのお題を再掲する。 以下の違いを説明せよ。 1)int a[2][3]; 2)int a[3][2]; 3)int *a[3]; 4)int (*a)[3]; 5)int **a; 次は3)のポインタの配列がどのようにメモリ上に配置されるかを見る。お題はint *a[3]であるが、扱いやすさと、実際のコード…

コードレビュー

引き続き押しかけコードレビュー元コード #include <stdio.h> #include <stdlib.h> typedef struct LIST_T list_t; typedef struct LIST_ELEMENT_T *elist_t; /* リストノード構造体 */ struct LIST_ELEMENT_T { int data; /* 保持するデータ */ struct LIST_ELEMENT_T *next; /</stdlib.h></stdio.h>…

押しかけレビュー

Windows より Mac より Linux がいい 第3回資料資料押しかけレビュー 第3回目 7ページ目 このままではprintfのところで警告が出るはず。warning freeにするためには以下のようにサイズを指定する。 printf(“%hhu\n”, *c++); 10ページ目 XORを使うと同じオブ…

勉強会資料のレビュー

今年は勉強会の講師ではなく、お目付役となったので、ちょっと気楽だ。入社からずっと教えてきた4年目のメンバーが講師をすることになったので、お手並み拝見である。と思っていたら、C言語勉強会の資料を見つけたので、お節介ながらレビューしてみる。Windo…

裸の王様

実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ アンテナにかかっていらい追っかけていたのだが、いよいよ@IT編集部が介入と言うことになった。 本コラムについて、たくさんのご意見、誠にありがとうございます。 コラ…

民主・山岡氏「普天間は雲の上の話」

私は山岡さんについてよく知らない。民主党の実力者というくらいしか知らないし、政治的背景も知らない。しかし、政権与党の幹部がこういう発言をしてしまうということに絶望する。こういう発言がでるから、沖縄人は基地を受け入れないのだ。基地問題は沖縄…

システムエンジニア 生き残りの極意

生き残りの極意 http://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html 自分の知らないことでつっこまれたら、知っていることだけ*1を、延々と、相手があきれて止めるまで繰り返すこと。なのかな? もちろん冗談だけれど。 今回特に注意したこと…

 システムエンジニア 生き残りの極意

みながわさんに、今求められていることは、みながわさん自身の観点を普通のエンジニアがわかる言葉で述べることです。私の経歴にアラをさがすことではないと思います。SE生き残りの極意が、ケチを付けてきた人をおとしめるやりかたにあるというのであれば、…

粘着対策

あちらは実名っぽいし、こちらは匿名なのでよほどのことがなければ大丈夫か、とは思うが、念のため先方のなまえでググってみた。予想以上に延焼しているようで、なんだかなーである。やっぱり一番の決定的な一言は 『非常に失礼なのですが、あなたは九州大学…