タグ

ブックマーク / kaworu.jpn.org (3)

  • 配列の要素数を調べる - C言語入門

    配列の要素数を直接知る方法はありません。 分かるのは、 「配列のサイズ」 配列の型のサイズ だけです。 関数の引数に配列のポインタを渡した時、呼び出された関数では、配列の正しい要素数を知るすべはありません。 関数の引数に「要素数」を渡す 配列がNULLターミネートなどの終端が設定されている前提でプログラムを書く といった配慮が必要になります。 array_size1.c の例 ソースコード array_size1.c /* * init_array.c * Copyright (C) 2014 kaoru <kaoru@bsd> */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int a[3] = { 1, 2, 3 }; (void)printf("%lu\n", sizeof(a)

    takuwz
    takuwz 2019/11/29
  • pthread 2つのスレッドを動かす - C言語入門

    pthreadで複数のスレッドを作成することは、1つのスレッドを作成する方法と何も変わりません。1つのスレッドを作成したい場合には、pthread 1つのスレッドを動かすをご参照ください。C言語でpthreadを用いて、複数(2つ)のスレッドを実行します。 概要 2つのスレッドを作成するには、pthread_createを2回呼び出すだけ、です。 2つのスレッドを作成したら、2回join(pthread_join)でスレッドを回収しなければなりません。 スレッドが同時に動いていることをわかりやすくするために、スレッドの中で、sleep(usleep)させています。 実行結果から2つめのスレッドの関数が先に終わっていることがわかります。 pthread2.c の例 ソースコード pthread2.c #include <stdio.h> #include <stdlib.h> #includ

    takuwz
    takuwz 2019/07/22
  • boostのインストール - C++入門

    libboost-atomic1.54-dev - atomic data types, operations, and memory ordering constraints libboost-atomic1.54.0 - atomic data types, operations, and memory ordering constraints libboost-chrono-dev - C++ representation of time duration, time point, and clocks (default version) libboost-chrono1.54-dev - C++ representation of time duration, time point, and clocks libboost-chrono1.54.0 - C++ representa

    takuwz
    takuwz 2018/09/12
  • 1