タグ

c言語に関するainameのブックマーク (9)

  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

  • clmemo@aka: Emacs で C 言語プログラミングを始める人へのイントロダクション

    Emacs エディターで C 言語のプログラムを書く人向けに、入門用の解説がないように思う。そこで、知っておくと便利な機能をまとめてみた。 読者は、Emacs の操作とカスタマイズが最低限できる人を対象にしている。つまり、C-x C-f といったショートカット・キーが使えて、.emacs の設定ファイルがいじれる人。各機能について、基的な使い方とその効果、あと最低限の設定について書き出した。 目次 ソースの色付け インデント アラインメント コメント info マニュアル スペル・チェック タグ・ジャンプ 関数名の補完入力 コンパイルとエラー行ジャンプ ChangeLog ファイル 1. ソースの色付け Emacs は、C 言語のソース・ファイルを解析して、if や for といったキーワードに対して、自動で色を付ける。 色を付けることでソースにメリハリが生まれ、可読性が上がる。また、ス

    clmemo@aka: Emacs で C 言語プログラミングを始める人へのイントロダクション
  • EmacsにおけるC++ source codeの細かいindent設定方法 (1) - I.S.の日記

    Source codeにおけるindentの流儀についての議論は果てがないように見受けられます。I.S.にとってもindentについては拘りがあり、defaultの設定では満足できないことが多いです。 Emacsではfileの編集中に自動的にindentを行ってくれますが、そのindent方法が自分の好みでなければ、その便利な機能も一転迷惑極まりない機能に成り果てます。 Emacsでは、設定file*1において、以下のようにstyleを選択することができますが、その用意されているstyleの全てが自分の好みでなければ、自分でindent設定を細かく記述するか、手動でひたすらindentしつづけるか、自動indentの苦痛に黙って耐えつづけるしかありません。 (add-hook 'c++-mode-hook '(lambda () (c-set-style "gnu") ; k&r、bsd、

    EmacsにおけるC++ source codeの細かいindent設定方法 (1) - I.S.の日記
  • “本物のマクロ”でCのコード行数を半分に! - @IT

    2009/09/07 毎年夏に開催される軽量プログラミング言語(LL:Lightweight Language)をテーマにした「LLイベント」。第7回目となる「LLTV」が、2009年8月29日に東京・中野で開催された。この記事ではプログラムの一部、「大改善!!劇的ビフォーアフター」をレポートする。前編では、Rubyによるfortuneコマンドの“増築”と、Firefox拡張によるslコマンドの実装というネタ系発表をレポートした。中編となる記事では、C言語にLisp風のマクロを取り入れ、lsコマンドのソースコードを約半分に“修繕”する匠の技をレポートする。後編では、売り場業務が滞りがちだった販売管理システムをbashコマンドで“建て直した”という劇的ビフォーアフターの発表をレポートする。 Cで書かれたlsのソースコードの問題点 「Real/Macro Metaprogramming On

  • CとC++の動的メモリー管理(1)、malloc関数とnew演算子の違いを知る | EE Times Japan

    C言語とC++言語では、動的にメモリーを確保したり解放したりする手法は異なり、それぞれ長所と短所がある。もちろん、安全性を最重要視する組み込み機器では、動的に確保したメモリーを利用すべきでないという考え方には心から賛同する。リスクが利点を上回ってしまうからだ。しかし場合によっては、動的なメモリーを適切に管理することで改善できることも多いのではないかとも考えている。 C言語やC++言語に標準的に用意されているメモリー管理向け関数の動作が意図した通りでない場合は、メモリー管理関数を独自に開発するとよい。独自のメモリー管理関数の仕様と振る舞いは、できる限り標準関数と同じにすることが理想である。標準関数のメモリー管理方法と違ってしまう場合でも、関数の引数と返り値の数と型は、可能な限り標準関数にそろえるべきである。関数の仕様を同一にしておくことで、最初は標準のメモリー管理関数を使って開発し、必要に応

  • Geekなぺーじ : winsockプログラミング

    ここでは、WinSockを使ったWindowsネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつWindows環境でプログラミングを行いたい人です。 WinSockという名称は、Windows Socketsから来ています。 名前の通り、Winsockはウィンドウズでソケットを使ってプログラムを書くためのAPI(Application Program Interface)です。 Winsockを使うと、TCP/IPなどインターネットを使って通信を行うプログラムが書けます。 ここで説明を行うwinsockのバージョンは2.0です。 ただし、大枠に関してはversion 1.0と2.0で同じ部分もあるので1.0を利用する方でも参考にはなると思います。 Winsockが対応するWindowsのバージョンとして

  • https://always-pg.com/c/runtime_rd/date/strftime.html

  • srand

    擬似乱数の発生系列を変更する 【書式】 #include <stdlib.h> void srand(unsigned seed); 【説明】 乱数とは、要は「でたらめな値」ですが、コンピュータ内ではある規則に従って「でたらめな値」を生成しています。これを擬似乱数と言い、C言語では rand関数を使って発生させます。 srand関数は rand関数で発生させる擬似乱数の発生系列を変更します。srand関数の引数seedに同じ数値を与えると、rand関数は同じ繰返しで擬似乱数を発生させます。たとえば、下の使用例1では同じ seed で10回 srand関数を呼んでいますが、結果を見ると、10回とも同じ繰返しでrand関数は擬似乱数を発生させています。 また、srand関数を呼ばずにrand関数を実行した場合には、srand関数でseedに1を設定したことと同じになり、プログラムを何度実行して

  • C言語におけるプリプロセッサのディレクティブ、マクロ一覧と使い方

    #define #define ディレクティブはマクロの定義を行う。C言語では数値や文字列、数式にに名前を付けて定数を定義することができます。 #define identifier #define identifier replacement #define identifier (parameter) replacement identifier マクロの識別子を指定する。識別子は大文字と小文字を区別する。マクロの識別子は慣習的に大文字で付けることが多い。 #include <stdio.h> #define DEBUG int main(int argc, char **argv) { int i = 1; #ifdef DEBUG printf("i = %d\n", i); #endif } 上記プログラムの実行結果を以下に示す。 $ gcc -o example example.

  • 1