タグ

C言語に関するrooshのブックマーク (9)

  • 学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバ..

    学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバル変数とローカル変数の挙動の違いとか、そんな事だったと思う)を試してみようと思って、20行くらいのプログラムを作ったんだ。 でも、動かないの。 どんな短いプログラムでも意図しない挙動をしてしまうことはあるものだが、そんなレベルの話ではない。 ただ、計算した結果を画面に出すだけのつもりなのに、何も表示されないんだ。 で、少しずつコメントアウトしていったのに、それでも何も表示されない。 しまいには、"A" って画面に出すだけのコードになったのに、それでも何も表示されないんだ。 (この日記の言及先を見れば、ネタは一目瞭然なんだろうけど) で、もう一別のコードを test2.c という名前で作ったら、ちゃんと "A" と表示された。 一番始めに作ったコードも、すんなり動いた。 そうさ。最初のコードは test.c という

    学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバ..
    roosh
    roosh 2018/07/11
    すき。あの頃はコンパイルするだけで面白み感じてたなぁ。
  • デニス・リッチーによって書かれた最初のCコンパイラーがGitHubで公開

    mortdeus/legacy-cc · GitHub デニス・リッチー(1941-2011)によって書かれた発展途中の初期のCコンパイラーのソースコードがGitHubで公開されている。ソースコード自体は、まだデニス・リッチー存命の頃から公開されていたが、この機会に紹介してみる。 ライセンスは許諾的で、このライセンス文を同梱すること、並びに、ソースコードから生成されたバイナリはラインセンス文を出力することとなっている。 追記:ライセンスに関してふと思った。このライセンスは名義が企業で、著作権を盾に同意を求めている。日では、映画以外の団体の著作権の保護期間は公開後50年である。UNIXと付属するソフトウェアのソースコードは当時から公開されていた。ということは、1973年に制作されたこのCコンパイラーのソースコードは、日国内では、2024年に著作権が切れるのだろうか。 詳しい経緯は、以下の

    roosh
    roosh 2013/05/23
    俺の書いてるコードと変わらないと思った。
  • C言語のポインタはメモリを想像できれば理解できる | 100% Pure NEET

    最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ

  • Cでのポインタの読み方

    Cでのポインタの読み方 Cのポインタの読み方は、ルールを知らないと摩訶不思議です。 ルールを覚えれば、 int (*p[5])[3]; char (*(*fp)(void))(int); なんてのも解読する事ができます。 大事な前程 ポインタを読む際には、「英語で読む」必要があります。 「え~、英語~」 と思う方もいるかもしれませんが、逆に日語で読む方が大変です。 基ルール ルール 後置演算子が優先。 関数の() 配列の[] 前置はあとで。 要は、「後ろに何かあったら、後ろが優先」です。 演算子の英語での読み方 * pointer to ... () function returning ... [] array of ... Lesson 1 まず、演算子が単独で出てくる場合です。 Lesson 1-1 pointer to ... int *p; これは、まずpを見ましょう。 i

  • Cプログラミング診断室 - 藤原博文

    はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見というべき 内容の修正から、

  • Ubuntuで C言語を使おう | 不定期ソフトウェア開発

    Ubuntu は LinuxLinuxはプログラミングの環境が充実している。 プログラミングを始めるために必要な作業というのが少ないので,すぐに始められる。 Ubuntuなら,C言語で書いたものとスクリプト言語で書いたものも同じ様に使えるので,わざわざC言語を使わなくても,アプリケーションの作成は十分です。実際に,Ubuntu のソフトは スクリプト言語の Python で書かれたソフトも多いし,PerlでもGUIプログラミングが簡単に出来る。(Windowsだと,そうはいかない。) それでも,やはりC言語は「システム開発言語」なので,特別な言語なのである。 多くの言語がオブジェクト指向を取り入れているが,C言語に追加されることは無いだろう。もし,必要ならばC++を使えばよいのだから。 基的に端末で作業をする。 C言語を使うためのソフトのインストール方法: 端末から sudo apt-

    Ubuntuで C言語を使おう | 不定期ソフトウェア開発
  • Phinloda is HERE

    (今週(?)の格言) 一見豪華主義 C言語 初級C言語Q&A (2003-06-06) C MAGAZINEに連載した Q&A のWWW版。 フィンローダのあっぱれご意見番 (1999-05-27) C MAGAZINEに連載していた無節操コラム。抜粋。 第81(78)回「機種依存文字」 「Cプログラミングの秘訣」 (1998-09-17) C MAGAZINE 1992年4月号に掲載された特集記事です。 プログラマーズフォーラム No.274「読ませる文章 (1)」 , No.275「読ませる文章 (2)」 , No.276「読ませる文章 (3)」 追加 その他 CG(2007-01-15) etc.(2003-01-09) 当の裏ページ(絶賛放置中) 裏の裏ページ Phinloda のもう裏だか表だか… 裏ご意見番 Phinloda のいつか聴いた曲 Phinlodaのいつか読んだ

  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

  • 龍神録プログラミングの館

    管理人の新作ゲーム「四聖龍神録2」公開開始! ※現在はより適切な設計手法で紹介した龍神録2プログラミングの館があります。 ============================================================================ 龍神録プログラミングの館では、誰にでも龍神録(東方のようなSTG)が作れるような解説を行っています。 難しい構文は使わず、初心者にもわかり易い構文のみで紹介しているので 基的なC言語の知識と、DXライブラリの知識さえあれば、誰にでも龍神録は作れます! ゲームプログラミングの館でDXライブラリに慣れたら、今度は格的なゲームを作ってみましょう! ↓ゲーム紹介動画↓ ご存じない方は是非四聖龍神録Plusを遊んでみて下さい! 全ての章のプロジェクトを一括ダウンロードする場合はこちらをクリック ※ 配布しているプロジェクト

  • 1