タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

c++とcに関するhideokiのブックマーク (2)

  • 配列へのポインタと配列へのリファレンス - bkブログ

    配列へのポインタと配列へのリファレンス C/C++ のあまり使われない機能に、配列へのポインタと配列へのリファレンスがあります。ここでは、それらがどのようなものかまとめたいと思います。 C 言語には配列の先頭要素へのポインタとは別に配列へのポインタ が存在します。。プログラミング言語Cの 5.7 に多次元配列を受け取る関数の例が載っています。 次のプログラムではサイズ 256 の char 型の配列を作り、その配列へのポインタ p を作っています。++p を実行すると p の指すアドレスは 256 バイト分進みます。 #include <stdio.h> int main() { char foo[256]; char (*p)[sizeof(foo)] = &foo; printf("%p\n", p); ++p; printf("%p\n", p); // 256 バイト分進む ret

    hideoki
    hideoki 2005/12/19
    いざというときに役に立つ知識
  • main() の前に関数を呼ぶ - bkブログ

    main() の前に関数を呼ぶ C/C++ のプログラムで、main() の前に関数を暗黙的に呼びたいときがあります。ここでは GCC の拡張を使った方法と、C++ のコンストラクタを使った方法を紹介したいと思います。 GCC では main() の前に呼ばれる関数を __attribute__((constructor)) という拡張機能を使って定義できます。たとえば、次のプログラムでは main() の前に foo() が呼び出されます。 #include <stdio.h> __attribute__((constructor)) void foo() { printf("hello, before main\n"); } int main (int argc, char **argv) { printf("hello, world\n"); return 0; } 実行結果は以下の

    hideoki
    hideoki 2005/12/19
  • 1