タグ

c言語に関するShoCohのブックマーク (10)

  • C言語のポインタ構文のつまづきどころ - Qiita

    C言語のポインタの構文でつまづきやすいポイントについて紹介し、このように考えるとわかりやすいという私なりの方法も書かせていただきます。規格書の内容を解説しているわけではないのでご承知おきください。 ポインタとは ポインタ (pointer)とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、それを参照するものである。有名な例としてはC/C++でのメモリアドレスを表すポインタが挙げられる。(ja.wikipedia.org) ふむふむ。ポインタ=メモリアドレスだな。 注)コメントにて指摘あり。 ポインタ型変数 はい、これがポインタです。って書いても、何を指しているのかよく分からん。*がポインタなのか!と思うひともいれば、*pointerがポインタなのか!と思う人もいるだろう。いや、そもそもポインタってメモリアドレスってさっき言うたやん?これのどこにメモリアドレスがあるんだ?

    C言語のポインタ構文のつまづきどころ - Qiita
    ShoCoh
    ShoCoh 2015/03/17
    そう、ポインタの概念自体は難しくないんだけど、構文がややこし過ぎるんだよなあ
  • 古のテクニックを見せようと思ったら最近の技術の前にあっさり敗北した話

    オブジェクトについて抽象から具象まで取り混ぜて説明していた時、最も具象なレベルで見れば、オブジェクトはメモリ上に確保した領域にすぎないと説明しました。 そんな説明をしていた時、メソッドの実体ってどこにどうあるのですかと質問を受けました。人の心はどこにどうあるのですかという質問に比べると緩い質問ですが、良い質問だと思いました。こういう疑問を持つのは大事だと思うからです。自分もかつてプログラムとは結局のところどう実行されるのかが気になりました。プログラマなら誰もが通る道だと思います。 そんなわけでJavaのような箱入り娘から離れて、デレのないツンデレ娘ことC言語で古のテクニックを見せることにしました。 とりあえず次の簡単なコードから始めます。C言語は知らなくても構いません。関数fnがあって、引数に2を加算して返すことだけを読み取ってください。 #include <stdio.h>

  • C99の仕様

    長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその

    C99の仕様
  • 2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵

    12ステップで作る組込みOS自作入門 出版社 : カットシステム (2010/05) 発行日 : 2010/05 前回の初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵は汎用OSでしたが今度は組込みOSです。参考書は『12ステップで作る組込みOS自作入門 』です。こいつぁすげえや。丁寧に仕上げられた良書でした。 「組込み」とタイトルがついているので興味を示す層が狭そうですが、プログラムを書く多くの人にとって役立つ内容だったと思います。 前回は必死にわかんないーわかんないーを連呼しつつ頭を抱えて苦行みたいな感覚でやっちゃいましたけど、今回はそんな苦労もあったからか余裕を持って楽しめました。 書ではWindowsだけではなくLinuxでも開発できるよう解説されているのでどんな環境でも問題ありません。Linux入れるのがめんどくさかった私は例によって

    2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵
  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

    僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、意にせよ不意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
    ShoCoh
    ShoCoh 2012/06/11
    自分は先に機械語をやってたからすんなりポインタを理解できたと考えてるクチなので、大方同意できる教え方だ
  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

  • サービス提供終了のお知らせ

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート

  • エスケープシーケンス - C言語 - 碧色工房

    サイトトップ 過去のコンテンツ C言語 エスケープシーケンス コンソール制御について、より詳しく、実際の出力例などを上げながら、 まとめたページを作りましたので以下も参照ください。 エスケープシーケンス ANSIエスケープコード コンソールグラフィック CUI のコマンドラインで動くプログラムを書く上でカーソルの位置などをコントロールできたらと思うことがあります。 こいつを実現するには、「エスケープシーケンス」というものを使います。 しかし、このエスケープシーケンスはハードウェアやOSに依存した部分が多いので注意が必要です。 とりあえず、 Windows 2000/XP (おそらく NT も)のコマンドプロンプトでは機能しない ※ことを確認しました。(ただし、 Cygwin 上では使用可能でした) MS-DOS プロンプトでは一部動くことを確認しました(一部が動いたのではなく、一部確認した

    エスケープシーケンス - C言語 - 碧色工房
    ShoCoh
    ShoCoh 2011/12/15
    コンソール出力の色やカーソル位置などを制御する
  • ObjectClub - コーディング規約の会

    ここでは、コーディング規約を公開しています。当規約をより良いものにするため、ディスカッション用としてメーリングリストをご用意しました。メーリングリストへの 入会方法は、このページの末尾にあります。 コーディング規約に関する情報をご紹介します。 ■株式会社電通国際情報サービス版 Javaコーディング規約2004(04/09/30) ・PDF(約430KB) Javaコーディング規約の担当者へのご意見はjava-coding-info at ObjectClub.jpまでお寄せください。Javaコーディング規約は、(株)電通国際情報サービス様の『Javaコーディング規約2004』をもとにしております。 『Javaコーディング規約2004』の改版として、『Javaルールブック ~読みやすく効率的なコードの原則』が出版されております。 ■オブジェクト倶楽部版 Javaコーディング規約(04/0

  • PythonからCプログラムを呼び出す | 象歩

    PythonからCプログラムを呼び出す [更新日: 2022年03月19日 ] Python でプログラミングしていると、 新しいデータ構造を作り上げる場合などに、 C/C++ の力を借りたくなることがあります。 Python から C/C++ コードを呼び出す方法を書きます。 まずは、Cから... 1.ソースコード 次の関数を題材にします。 // hello.c int add(int x, int y) { return x + y; } void out(const char* adrs, const char* name) { printf("こんにちは、私は %s の %s です。\n", adrs, name); } 2.wrapper コード まずモジュール(ライブラリ)名を決めます。 ここでは "hello" とします。 そしてラッパモジュールを書きます。 // hello

  • 1