C
こんにちは。 本日はC言語メモです。 概要 サーバ側サンプルコード 1. FIFOファイルを作成 2. FIFOファイルをオープンする 3. 受信データを読み込む 4. FIFOファイルをクローズする 5. FIFOファイルを削除する クライアント側サンプルコード 1. FIFOファイル…
こんにちは。 本日は、C言語メモです。 概要 strcmp()を使って文字列比較 strncmp()を使って文字列比較 memcmp()を使って文字列比較 概要 本記事では、以下の関数を使用して 文字列を比較する方法について記載します。 strcmp() strncmp() memcmp() strcmp()…
こんにちは。 本日はC言語メモです。 概要 sleep()のサンプルコード usleep()のサンプルコード nanosleep()のサンプルコード 概要 本記事では、C言語で以下の関数を使用して 処理を一時停止させる方法について記載しています。 sleep() usleep() nanosleep()…
こんにちは。 本日はC言語メモです。 概要 shortが最大メンバとなる構造体 intが最大メンバとなる構造体 doubleが最大メンバとなる構造体 概要 C言語の構造体を定義するとき、アライメントに注意する必要があります。 アライメントとは、CPUが効率よくデータ…
こんにちは。 本日はC言語メモです。 概要 サンプルコード 概要 無限にループしているアプリを作ったとき 「Ctrl + C」でアプリを停止します。 このとき、終了する前になにか処理をしたい場合ってありますよね。 本記事では、signal()関数を使用して「Ctrl +…
こんにちは。 本日はC言語メモです。 概要 asctimeを使用して取得 ctimeを使用して取得 strftime を使用して取得 gettimeofday を使用してミリ秒まで取得 概要 本記事は、時刻を文字列で取得する方法について いくつかの方法を記載しています。 固定書式で取…
こんにちは。 本日はC言語メモです。 概要 サンプルコード 概要 定義済みマクロは、C言語のコンパイラやプリプロセッサによって 自動的に定義されているマクロのことです。 定義済みマクロは、コンパイル時に展開されます。 本記事では、以下の定義済みマク…
こんにちは。 本日はC言語メモです。 概要 動的配列の作成 動的配列のサイズを変更する 概要 通常の配列は、宣言時以外では要素数を変更することができません。 でも、配列の要素数を動的に決定したい場合もありますよね。 本記事は、malloc()を使用して 動…
こんにちは。 本日はC言語メモです。 変数を定数として宣言 ポインタ変数を定数として宣言 ポインタが指す値を定数にする(定数へのポインタ) ポインタ自体を定数にする ポインタが指す値、ポインタ自体を定数にする 関数の引数を定数として宣言 変数を定数と…
こんにちは。 本日はC言語メモです。 概要 defineを使って数値に名前をつける defineを使って文字列に名前をつける defineを使って関数に名前をつける 概要 defineを使用すると、数値や文字列、式などを定義することができます。 defineで定義したものは、コ…
こんにちは。 本日はC言語メモです。 概要 サンプルコード 概要 ファイルの読み書きについては 以下の記事でも記載しているのでご参考までに。 【C】[超入門] fopenとfcloseを使用してファイル開閉 - なんだかGoodVibes 【C】バイナリファイルの読み書き - …
こんにちは。 本日はC言語メモです。 概要 サンプルコード 概要 バイナリファイルの読み書きで使用する関数は以下です。 fopen : ファイルオープン fclose : ファイルクローズ fwrite : ファイル書き込み fread : ファイル読み込み fopenとfcloseについては…
こんにちは。 本日はC言語メモです。 概要 ファイルの読み込み モードがr、r+の場合 モードがw+の場合 モードがa+の場合 ファイルの書き込み モードがr+の場合 モードがw、w+の場合 モードがa、a+の場合 概要 ファイルの開閉を行うには以下を使用します。 FI…
こんにちは。 本日はC言語メモです。 構造体を宣言してみる 構造体を使うと 複数の型をまとめて扱うことができます。 構造体の宣言は、structで行います。 #include <stdio.h> #include <string.h> struct person { int id; char name[10]; }; int main () { struct person data</string.h></stdio.h>…
こんにちは。 本日はC言語メモです。 ポインタ変数 ポインタ演算 ポインタ引数 ポインタ変数 ポインタ変数とは、ポインタ型で宣言された変数のことです。 ポインタ変数には、指定した型の変数のアドレスを代入できます。 以下のように宣言します。 int *p; i…
こんにちは。 本日はC言語メモです。 &を使ってみる &を使ってみる プログラムを作った際、変数の情報は コンピュータのメモリ上に作られます。 &を使うと、その変数のアドレス (メモリ上の番地みたいなもの) を取得することができます。 以下はint aのアド…
こんにちは。 本日はC言語メモです。 ローカル変数 グローバル変数 static変数 ローカル変数 ローカル変数とは、関数内で定義された変数です。 ローカル変数の寿命は定義された関数の中だけとなります。 ローカル変数は、他の関数からのアクセスはできません…
こんにちは。 本日はC言語メモです。 概要 引数なし、戻り値なしの非同期処理 引数あり、戻り値なしの非同期処理 引数なし、戻り値ありの非同期処理 概要 本記事では、 pthread_create pthread_join を使用して非同期処理を作成します。 ptread_createでスレ…
こんにちは。 本日はC言語メモです。 配列の宣言 宣言と初期値の代入を同時に行う 配列の要素数を調べる 配列をコピーする for文を使ってコピーする memcpyを使ってコピーする 配列の宣言 要素数が3の配列を宣言して 値を設定します。 #include <stdio.h> int main() </stdio.h>…
こんにちは。 本日はC言語メモです。 引数・戻り値なしの関数 引数あり・戻り値なしの関数 引数・戻り値ありの関数 引数・戻り値なしの関数 「Hello World.」と出力するだけの関数を作ってみます。 #include <stdio.h> // プロトタイプ宣言 void print_hello(); int m</stdio.h>…
こんにちは。 本日はC言語メモです。 forを使用した繰り返し処理 whileを使用した繰り返し処理 do-whileを使用した繰り返し処理 forを使用した繰り返し処理 for文は、繰り返す回数を指定することができます。 例えば、以下のコードはmax変数に指定した回数分…
こんにちは。 本日はC言語メモです。 ifを使用した条件分岐 switchを使用した条件分岐 色々な演算子 等価演算子 関係演算子 論理演算子 ifを使用した条件分岐 if文の構文は以下のようになります。 if (条件式1) { // 条件式1がtrueの場合に実行される } else…
こんにちは。 本日はC言語メモです。 scanfを使用した方法 入力が1つの場合 入力が複数の場合 fgetsを使用した方法 scanfを使用した方法 scnafの書式は、int scanf(const char *format, argument-list) です。 入力が1つの場合 #include <stdio.h> int main() { int a</stdio.h>…
こんにちは。 本日はC言語メモです。 四則演算 複合代入演算子 進数 四則演算 以下の四則演算のサンプルです。 加算(+) 減算(-) 乗算(*) 除算(/) 剰余算(%) #include <stdio.h> int main() { int x = 100; int y = 30; printf("%d + %d = %d\n", x, y, x + y); printf</stdio.h>…
こんにちは。 本日は、C言語メモです。 概要 ディレクトリ構成と各ファイル 共有ライブラリの内容を変更する 静的ライブラリの内容を変更する 概要 共有ライブラリと静的ライブラリ、変更が発生した際に どのような違いがあるのかについて 本記事で記載しよ…
こんにちは。 本日は、C言語メモです。 概要 静的ライブラリの作成とリンク 静的ライブラリの作成 静的ライブラリをリンクする 概要 C言語の静的ライブラリの作成と 静的ライブラリのリンクを方法について記載します。 動作環境はMacです。 静的ライブラリの…
こんにちは。 本日は、C言語メモです。 概要 共有ライブラリの作成とリンク 共通ライブラリの作成 共有ライブラリをリンクする 概要 C言語の共有ライブラリの作成と 共通ライブラリのリンクを方法について記載します。 動作環境はMacなので、 本記事で作成す…
こんにちは。 本日はC言語メモです。 概要 .cファイルのみの場合 .hファイルが存在する場合 .hファイルが存在する場合(他の階層) 複数のオブジェクトファイルから実行ファイルを生成 概要 C言語で開発を行う際、いつもコンパイルってどうするんだっけ?? っ…