タグ

C言語に関するUDONCHANのブックマーク (3)

  • C言語で非決定的計算 - sumiiのブログ

    http://www.kmonos.net/wlog/96.html#_2319090427 今ある普通の言語の場合、「別に最左である必要はなくて、最大要素のインデックスならどれでもよかった」という実装をすることができません。 「普通の言語」どころか(書いた私が)頭のおかしいコードですが、 > cat max.c #include <stdio.h> #include <assert.h> #include <setjmp.h> void amb(int x, int y) { assert(0); } /* longjmpは返値型がvoidなのでint型に合わせる */ int mylongjmp(jmp_buf cont, int ans) { longjmp(cont, ans); assert(0); } /* arrの最大要素(の一つ)のインデックス+1を非決定的に返す */ v

    C言語で非決定的計算 - sumiiのブログ
  • main の第三引数 - IT戦記

    gcc や vc では main の第三引数って環境変数が入ってくるんですね #include <stdio.h> int main (int argc, char **argv, char **envp) { char **ptr; for (ptr = envp; *ptr != NULL; ptr++) { puts(*ptr); } return 0; } こうすると、環境変数が出力されます。知らなかったー。 でも、使わないよね。 getenv でいいよね

    main の第三引数 - IT戦記
  • c - *sとs[]の違い : 404 Blog Not Found

    2008年04月04日03:00 カテゴリTips c - *sとs[]の違い これ、結構tricky。 The C Programmming Lanugage K&R 「 *s 」と「 s[] 」の違い - IT戦記 コメント欄にある「K&Rの5.3を読めばわかる」かというと多分わからない。それどころか P. 100 char s[]; and char *s; are equivalent; なんて書いてあるから余計わからなくなると思う。 なのだけど、すっごく簡単な覚え方がある。 答えは sの値を変更できるか 要するに char *s = "pointer"; printf("%s\n", ++s); はOKだけど、 char s[] = "array"; printf("%s\n", ++s); はNGということ。GCCなら error: wrong type argument to

    c - *sとs[]の違い : 404 Blog Not Found
  • 1