Cの基本

バイナリで読み書き

こちらでRの中でC++の関数を使えるようにしている そのやり方はわからないが、このときにCとRを使うことを考えていたのでもう少し改良 CとRの間のファイルのやり取りをバイナリで行う Rのバイナリファイル Cについてはこちらのなかのバイナリデータ Cについ…

CとRを動かす

久しぶりにCの復習をしてみた シェルでCとRを動かせるようにシェルスクリプトを書いた Cを計算に使いたい Rで図を描きたい いままでマスで仕切ってマスごとに計算するというシミュレーションをやってきていたので、Cでも同じことをしてみる マスの大きさをシ…

アドレス

アドレスについて 昨日に引き続きアドレスなど 関数を定義するとき(下の例では calc()という関数) mainの中の x と 関数の定義につかわれている x 2つのアドレスを比べてみる main の中での x (および y)は (&x, &y) is (-1073743144,-1073743152) calc…

ポインタの基礎

C言語ではポインタというものが出てくる まずはポインタの基礎の整理 ポインタpはメモリの場所を示すものらしい pに変数yのアドレス&yを代入できる *pはアドレスp (&y) に納められている数 (y) ということになるのだろうか y,&y,*p,p を書き出してみる &y と…

ランダムアクセス fseek()

ファイルへ場所を指定してアクセスすることをランダムアクセスとよぶらしい ランダムアクセスについてのこちら そこでfseek()関数を使う fseek(fp,0,SEEK_SET) 第2引数を0にして、先頭へ移動 この例ではファイルの頭へ移動する

バイナリ

cでのファイル操作 基本はこちらに書いた ファイルを開くときのモードにバイナリモードを指定する こちらにあるように b を追加する bを追加しないとテキストモードで開かれる fp = fopen("ファイル名","rb") バイナリモードを指定する理由についてはこちら…

ファイルの読み書き

cでのファイル操作 こちらを参照 1. まずファイルを開く FILE* fp fp = fopen("ファイル名", "モード") 2. 読み込むとき fscanf(fp, ) 3. 書き出すとき fprintf(fp, ) 4. 最後にファイルを閉じる fclose(fp) これらを使ってファイルの書き出し "w"モードでフ…

コマンドライン引数

シェル上からmain関数へ値を引き渡すとき コマンドライン引数を使う その後型変数変換によって文字列から数値へ変換 以下をコンパイルして testという実行ファイルとすると /*test.c*/ #include <stdio.h> int main(int argc, char *argv[]) { int i; for (i = 0; i <</stdio.h>…

オブジェクトファイル

昨日の記事にコメントをいただいた さらに中身を細かくみる必要がある そのためにもccのオプションについてこちらやこちら コンパイルのところ gcc hoge.c これで a.out というファイルができる このファイル名を指定する場合はオプションを追加して gcc hog…

数字

数字を表示させる #include <stdio.h> int main(void) { int x = 5; printf("%d", x); return 0; } 変数の型 int が整数 float や double で実数 printf() 出力のフォーマットを %d のところで指定するらしい Cのライブラリ 数式の関数をつかうときにはヘッダに以下を</stdio.h>…

コンパイル リンク 実行

C入門 ほかにもこちら Xcodeをインストール(こちらを参考にさせていただいた) C入門を参照しながら まずは"hello,world"を書いて保存hello.c #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } UNIXでコンパイル・リンク 最初のころにも</stdio.h>…