C

pointer-free な C 言語はチューリング完全か

C

ってのが、id:mame っちのところにあったので似非実装 char code[1024]; char input[1024]; struct V { #define REEVAL 0 #define RETURN 1 #define COMPLETE 2 int state; int value; }; /* * ret_step ステップ実行した後の * ret_cursor の値を返す。 */ …

C

VC++が定数による除算を乗算に変換する最適化をしてるのは、吐いたコードを見たことある人なら知ってることだと思うけど、なんとなくhttp://www.wikihouse.com/x86clocker/index.php?plugin=attach&refer=%B2%E1%B5%EE%A5%ED%A5%B0&openfile=x86%CC%BF%CE%E1…

C

IOCCCが始まったようです。 参加しようと思っていながら、いつの間にか終わっていたってのを数年間続けていたのですが、 今回は真面目にアンテナでチェックしてたので参加できそう。

すっかり忘れてた

C

この前の問題はC++では解けません。なぜならC++では「式の中で新しい型を定義してはいけない」と決まってるからです。大ヒントだね。

某所にも書いたけど

C

int main() { int A = 1; { sizeof(EXP); printf("%d\n", A); } return 0; }が、100を出力するような式EXPは何か?簡単だよね(ぉ マクロとか使っちゃだめだよ

Cの型宣言

C

Cの宣言から型が何かを読み解くのって難しいですよね。 えっ、もう何を見せられても読める自信があるって?当然 void (*signal(int, void (*)(int)))(int);これくらいは読めるよね。じゃあ typedef int t; t foo(t (t));この foo の型は何だろう? t hoge_1(…

C

id:kikx:20061106 の続き short x = 1; unsigned char y = 1; issigned(x) ==> 1 issigned(y) ==> 0みたいに左辺値だったら、 int issigned_data = -1; #define issigned_char(x) ((&x)[(int)&issigned_data-(int)&x] < 0) #define issigned(x) (sizeof(x)==…

C

Cで符号付かどうかを判定するマクロを書くというのは有名な問題なわけですが、例えば issigned(char) ==> charが符号付ならば1、そうでないなら0 issigned(short) ==> 1 issigned(unsigned int) ==> 0のような結果を返すマクロなら簡単に書けるわけです。 #d…