2009年11月25日水曜日

リスニングむじぃ



字幕なしフルハウスを観てたら、耳が英語になれてたせいか、リスニングで300点超えてた。
ただ悲しいかな、なんとなく聞き取れるようになっただけで、基礎力が上がってるわけではないので、確信をもって答えられる問題はそんなにない。


しばらくリスニング強化のためにシャドウイングしてます。


うちの会社、700点弱で海外勤務可らしい。
最近、海外勤務もええかな、と思ってきたのですよ。
インドは腹くだしそうだけど・・・・タイあたりならいいかな・・・





2009年11月2日月曜日

勉強会に参加



名古屋の勉強会に参加


とりあえず動け動け!ということで2つほど勉強会に参加することにした。
そのうち自分で発表したいところ。つか、そのうちとか言ってたらダメか。
何か発表するネタあるかなぁ・・・。


最近はC言語をやり直しています。自分が組込みをしているというのもありますが、
C言語をちゃんと習得しないで、LLを使うのって後ろめたさがあるので。


intのbit幅を求める


sizeof(int) * CHAR_BITはダメで、
以下のようにビットを一つずつ舐めていく。
http://www.bohyoh.com/CandCPP/FAQ/FAQ00018.html



/*--- unsigned型のビット数を返却 ---*/
int int_bits(void) {
int count = 0;
unsigned x = ~0U;
while (x) {
if (x & 1U) count++;
x >>= 1;
}

return (count);
}





2009年11月1日日曜日

やり直しC



stdio.hがないと怒られた。
そういえば、昨日OSを入れ直したから、libcが入ってないや。
sudo apt-get install libc6-dev

main関数と引数void


int main()とmain()は同じ。関数の型を省略するとint型にされる。
hoge(void)は引数をとらないことを明示してあり、
プロトタイプ宣言にてhoge()とした場合、引数なしではなく、”なんでもよい”ということ。

K&R 演習1


エラーメッセージを調べる

#include <stdio.h>

int main()
{
printf("Hello, World";
}


結果
test.c: In function ‘main’:
test.c:5: error: expected ‘)’ before ‘;’ token
test.c:7: error: expected ‘;’ before ‘}’ token

当然、怒られる。
7行目でのerrorは)がないせいで、;も引数扱いされ、終端としての役割がなくなっているためと考える。

#include <stdio.h>

int main()
{
printf("Hello, World";);
}


結果
test.c:5: error: expected ‘)’ before ‘;’ token

あるぇ?
どうやら;は認識されてる。

ちょっと調べるか


以下、後日編集
'(' がきた時点で関数であると認識されてました。


メモ
バッカス・ナウア・フォーム Backus Naur Form
yacc
lex