タグ

Cに関するyysakiのブックマーク (4)

  • 複雑な演算子

    第14章 複雑な演算子 基的な演算子については第4章で説明しましたが、この章では、もう少し複雑な演算子について説明します。 14-1.ビット演算子 ビット単位でデータ操作をするものです。対象は整数に限られます。 【ビット演算子】 演算子説明

    yysaki
    yysaki 2010/08/30
    SoC設計技術C
  • 三項演算子の正しい書き方

    C・C++JavaPerl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to

  • マイクロデータベース管理システムの実装

    怪奇? 「ファイルサイズ: 0」の謎 先週の課題プログラムには、「testfile」というファイルを作成して 256バイトのデータを書き込み、そのファイルの大きさが実際に何バイトかをstat システムコールを使って調べる、という内容が含まれていました。 しかし、実際にそのプログラムをMacOS Xの環境で実行すると、 プログラムの最後のstatシステムコールを使って調べた ファイルサイズの結果が「0」になるという不思議な現象が起こった人もいるかもしれません。 この謎を追ってみましょう。 まず、lsコマンドで実際のファイルサイズを調べてみます。 % ls -l testfile -rw------- 1 furuse prof 256 Apr 18 15:16 testfile 確かに、ファイルサイズは256バイトになっています。 次に、デバッガのgdbを使ってプログラムの実行状況を調べてみ

  • sprintf

    書式指定変換した出力を文字列に格納します 【書式】 #include <stdio.h> int sprintf(char *str, const char *format, ... ); 【説明】 書式formatにしたがって、printf関数と同様の変換を行った出力を、文字列strに格納します。 この関数を知っているのと知らないのとでは、文字列を編集する効率が全然違います。知らないと、文字列を編集するのに、strcat関数などを用い、とんでもない長文を書く羽目になってしまいます。 【引数】 char *str : 変換した出力を格納する文字列。 const char *format : 書式指定文字列。 詳しくはprintf関数を参照のこと。 ... : 可変個引数。この引数を書式指定に従い変換します。書式指定文字列はこの引数と同数必要です。 【戻り値】 成功時 : strに格納した文

  • 1