C言語は、ポインタが使える言語です。ポインタを使えば、メモリの直接的な操作など、より柔軟なプログラミングが可能です。一方、そのためにはポインタがどのようなメモリ領域を指し示しているか、またポインタ自体が有効なアドレスを保持しているかなどについて十分な理解が必要です。 本稿では、C言語のポインタについて、配列との対比に焦点を当てて解説を行います。 *** C言語では、ポインタを配列のように扱うことができます。また、配列名はポインタに変換可能で、別のポインタに代入できます。 まずは1次元の場合について、ポインタと配列の関係を考えてみましょう。 宣言文の記述 いま、ポインタと配列を次のように宣言したとします。 char *p; ← char型へのポインタpを宣言 char a[5]; ← char型を要素とする、要素数5の配列aを宣言 この宣言の結果を図にすると、図1、図2のようになります。 図
ポインタとは ポインタはC/C++言語の特徴的な機能のひとつである。ポインタ(pointer)を直訳すると「指し示すもの」であり、別の変数や文字列定数の場所を指し示すために使う。また、ポインタを指すポインタ(ポインタへのポインタ)というものも存在する。 このページをお読みいただいている読者にあっては、「C言語 ポインタ」「C++ ポインタ」などのキーワードでWeb検索をしたことがあるかもしれない。そうするとポインタに特化した内容の書籍をいくつか見つけられる。それだけ奥が深い機能ということである。 ポインタの用途 では、ポインタはどんなところで使われているのだろう。C/C++言語では、あらかじめ定義されている関数が多数存在するが、その一覧には、*(アスタリスクあるいはアステリスク)が付いているものをよく見かける。 これらはポインタを表し、主に文字列の操作やファイルをはじめとするデータの入出力
Part2では,「そもそもC/C++についてよくわかっていません」という方のために,C/C++言語に関する素朴な疑問をQ&A形式でお答えします。“今さら人には聞けないなぁ”というような疑問も取り上げていますので,初心者の方でも安心して読んでください。 C/C++の最大の魅力は,コンピュータでできることなら,ほとんどどんな種類のプログラムでも比較的簡単に書けることです。 CがもともとOSを記述するために作られたことは特集1でも触れました。OSの役割をおおざっぱにいうと,ハードウエアの機能を使いやすい形でアプリケーション・ソフトに提供することです。アプリケーション・ソフトは基本的にOSが提供する機能を利用して動くプログラムですから,OSを作れる言語であれば,事実上どんなアプリケーションでも作れることになります。 パソコンに関していえば,Cの処理系がいくつかのベンダーからコンパイラとして提供され
C言語はきわめて息の長いプログラミング言語です。1960年代終わりから1970年代初頭にかけて誕生し,以後現在に至るまでの30年以上,ずっと第一線で使われ続けてきました。そしてこれからも,C言語とその子供であるC++は現役の言語として使われ続けていくでしょう。なぜならC/C++は,今日のコンピュータ環境に欠くことのできない存在になっているからです。 図1を見るとわかるように,C/C++はOSからビジネス・ソフトまでありとあらゆるソフトウエアの開発に広く利用されています。その用途は汎用コンピュータ向けプログラムの開発にとどまりません。組み込み機器からスーパー・コンピュータに至る特殊用途のプログラミングまでコンピュータがかかわるあらゆる分野でC/C++が活躍しています。メモリー容量などに大きな制約がある組み込み機器のプログラミングなどは,コンパクトなコードを出力できるC言語はうってつけですし,
WisdomSoft(旧) このサイトはすでに運用を停止しています。 新しいコンテンツはこちらをご覧ください ■Products■ 書籍 ソフトウェア 読本C 読本Java Javaアプリケーション作成講座 Windowsゲームプログラミング ゲームエンジン プログラミング C#ゲームプログラミング Cisqua Developers Network プログラミング システムとAPI C言語入門 C++入門 C#入門 D言語入門 Java言語入門 Objective-C入門 Lisp入門 Perl入門 PHP入門 アセンブリ言語入門 Win32 API入門 標準 Windows API コモンコントロール マルチメディア API Windows ソケット JavaAPI入門 AWT入門 Swing入門 ネットワーク入門 Microsoft .NET入門 DirectX入門 OpenGL入門
はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基本的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見本というべき 内容の修正から、
【1.1】 特徴 オープンソース GPL2ライセンスによる公開です。 クロスプラットフォーム wxWidgetsを使って開発されており、LinuxとWindowsで動作確認済み。 MacPPCへのサポートが始まっているようです。 GNUコンパイラによるビルド プロプライエタリなライブラリへの依存がありません。 コンパイラーをバンドル Windows版はMinGWをバンドルしたリリースパッケージを用意 リリース版はインストーラ一発で開発環境のセッティングが完了する。 サポートコンパイラが豊富 GCC (MingW / Linux GCC) MSVC++(2003 2005) Digital Mars C++ Borland C++ 5.5 Intel C/C++ Open Watcom SDCC(ワンチップマイコン向け!) Digital Mars
特集 Cプログラミングの秘訣 最終更新: 2006-03-28 このテキストはC MAGAZINE 1992年4月号に掲載された原稿のオリジナルテキストを元にしてHTMLに変換したものです。掲載文章と細部が異なっていると思われます。また、気付いた個所をいくつか修正してあります。 当時はまだWindows 95もないような時代で、現在の状況から見ると違和感のある内容も結構あるかもしれませんが、時代背景を想像しながら補正しつつ読んでいただければ幸いです。 ※2006年3月28日追記: 何が原因か知りませんがこのページのアクセスが増えているそうなので、 HTML のおかしなところを修正しました。 文章の変更はありません。 なお、このサイト(表ページ)は現在休眠状態ですが、 裏ページ や 裏の裏ページ の方を、細々と更新していたりします。 目次 Part1 よいプログラムを書く条件 Part2 明
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く