LoginSignup
1
0

More than 3 years have passed since last update.

C言語(コンパイル、構造体)

Last updated at Posted at 2020-11-01

はじめに

-C言語の用語をまとめる
-大学で教わった範囲の知識です

1

コンパイルとは、ソースコードから実行可能ファイルを生成すること
example.cからa.exeやa.outなどを生成

プリプロセッサ指令とは、コンパイルする前にソースコードに変更を加えること
ソースコードの先頭#include#defineなど
ディレクティブとも呼ばれる

プリプロセッサとは、プリプロセッサ指令を担当する機能のこと
(gcc環境の場合gcc -E example.cで確認できる)

オブジェクトファイルとは、コンパイルして吐き出された生のファイルexample.o

リンクとは、最終的な実行可能ファイルを生成する手続き
(a.exeやa.outにexample.oをリンク)

2 構造体

構造体とは、いくつかの変数や定数をまとめて作られるデータ型のこと

メンバとは構造体変数が持つ、変数のこと

ドット演算子とは構造体変数の実体そのものにアクセスするためのもの

アロー演算子とは構造体変数のアドレスを指定するもの

メンバアクセス演算子とはドット演算子とアロー演算子のまとめた呼び名

3 構造体のサンプルコード

プログラム例(サラスの公式を使った3次行列式の計算)


#include <stdio.h>
int main(void){

    struct matrix
        {
            double a11,a12,a13,a21,a22,a23,a31,a32,a33;
        };

    struct matrix X={1,0,0,0,1,0,0,0,1};
//構造体変数 X を定義、個々の値{~}を代入

    double d1,d2,d;
    //3×3サラス前半
    d1=(X.a11)*(X.a22)*(X.a33) + (X.a12)*(X.a23)*(X.a31) + (X.a13)*(X.a21)*(X.a31);
    //3×3サラス後半
    d2=(X.a13)*(X.a22)*(X.a31) + (X.a12)*(X.a21)*(X.a33) + (X.a11)*(X.a23)*(X.a32);
    //3×3サラスの公式
    d=d1 - d2;

    printf("det(X)= %f",d);
    return 0;
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0