タグ

Cに関するindiakilo-walkaloneのブックマーク (3)

  • φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    angrのBackward Slicingを使ってみたので、わかったことをとりあえずメモしておきます。と言っても、Backward Slicingの実行方法自体はドキュメントに書いてあるので、知りたかったのはBackward Slicingしたあとにどのようにデータを見ればよいの?ってところですね。 まずは単純なテストプログラムを作成。これに対してBackward Slicingをしてみる。 #include <stdio.h> #include <string.h> #include <stdlib.h> char *correct_password = "test123"; void win(void) { printf("Password is correct!\n"); } void loose(void) { printf("Password is wrong!\n"); } i

    φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • 一週間で学べるシリーズ - おさえておきたいプログラミングの基本

    【7日目】 ファイル分割 7-1.規模の大きなプログラムを作る (1) ファイル分割の必要性 ここまで紹介してきたプログラムは、どれも一つの.cファイルに記述されていました。しかし、実際の実用的なプログラムはより大規模になり、一つのファイルには収まりません。なぜならソフトウェア開発の現場には多くのプログラマーが協力してプログラムを作っているのがほとんどだからです。 そういった場合、必要になってくるのが、ファイル分割です。C言語に限らず実用的なソフトウェアのプログラムは、複数のファイルに分割されています。分割の仕方はそのプログラムの機能などによって様々です。 (2) ヘッダファイルとソースファイル すでの述べたとおり、cには、拡張子が「.h」のヘッダファイルと、拡張子が「.c」のソースファイルがあります。通常、大きなプログラムは、多数の関数から成っています。そのため、それらのファイルは、規模

  • C言語で2次元配列を動的に割り当てる4つの方法 - FLYING

    2次元配列を動的割り当てしたいそんなとき,C言語ならキモくなるかも。 検索エンジンから来る人がそれなりに居るようなので,解説画像を追加しました(2014/12/05)。 各行のデータを保持する配列と各行へのポインタを保持する配列に分けて確保 おそらく最も基的なやり方。 int **matrix; int i, j, n, m; n = 100, m = 100; matrix = malloc(sizeof(int *) * n); for (i=0;i<n;i++) { matrix[i] = malloc(sizeof(int) * m); } for (i=0;i<n;i++) { for (j=0;j<m;j++) { matrix[i][j] = i * m + j; printf("%d\n", matrix[i][j]); } } for (i=0;i<n;i++) { f

    C言語で2次元配列を動的に割り当てる4つの方法 - FLYING
  • 1