目次
博士課程学生です。電子工作はただの趣味です。
工作HardwareHubからのお知らせ
関数 divide
はエラーの有無を返り値で表現しています。main
では void
にキャストすることで、意図的にチェックしていないことを表現しています。
sample.c
#include <stdio.h>
int divide(double a, double b, double *res) {
if(b==0) return 0;
*res = a/b;
return 1;
}
int main() {
double a=1.0, b=2.0, res;
(void)divide(a,b,&res); //★voidにキャストすることで、関数からの返り値に興味がないことを明示。
printf("%f/%f = %f\n", a, b, res);
return 0;
}
出力例
$ gcc sample.c && ./a.out
1.000000/2.000000 = 0.500000
0
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- cmake で ccache を有効化するための設定YOCTO Linux で開発している場合など、ビルド速度が開発効率にそのまま影響する際は ccache (compiler cache) で C/C++ ビルドを高速化することを考えます。cmakeと併用する場合の設定およびコマンド例を記載します。 インストール sudo apt install ccache 以下のバイナリファイルに加えて $ w
- Python から C ライブラリを利用 (ctypes)FFI (Foreign Function Interface) の一つである ctypes を利用すると、C 言語のライブラリを Python から利用できます。サンプルコードを記載します。 適宜参照するための公式ドキュメント libm の sqrt を利用する例 main.py ``
- 低レイヤーネットワークプログラミングに関する雑多な知識TCP/IP モデルのうちトランスポート層ではなく、インターネット層およびネットワークインターフェイス層のパケット (正確には PDU) を扱う低レイヤープログラミングの雑多なテクニックをまとめます。『ルーター自作でわかるパケットの流れ』などを参考にしています。バックアップ目的で書籍のサンプルコードをホスティングしました。 検証環境
- ファイルディスクリプタ関連のシステムコールのサンプルコード (C 言語)ファイル記述子 (File Descriptor) に関連するシステムコールを利用した C 言語のサンプルコードを記載します。 ファイルの読み書き open/close main.c #include <unistd.h> #include <fcntl.h> #include <stdio.h> int main() { int fd_r, fd_w;...
- C言語の資産を利用 (C++をもう一度)サンプルコード メルセンヌ・ツイスタなど、C言語で記述されたライブラリをC++から利用するためには extern "C" を利用します。その際、組み込みマクロ __cplusplus を利用するとC言語からもC++からも利用できるヘッダファイルを作成できます。 sub.h #ifndef SUB_H_ #define SUB_H_ #ifdef __cplu