C言語のstatic指定子について説明しています。staticを使用する場所は関数の中と外の2種類あります。それぞれについて説明します。 staticとは、C言語での記憶クラス指定子のひとつで宣言したオブジェクトに静的な記憶クラスを与えるものです。staticはスタティックと読みます。記憶クラス指定子には、他にauto, register, extern, typedefがあります。
C言語のstatic指定子について説明しています。staticを使用する場所は関数の中と外の2種類あります。それぞれについて説明します。 staticとは、C言語での記憶クラス指定子のひとつで宣言したオブジェクトに静的な記憶クラスを与えるものです。staticはスタティックと読みます。記憶クラス指定子には、他にauto, register, extern, typedefがあります。
Home Subscribe configureスクリプトとは何なのか 19 February 2015 おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん Unix のパッケージをインストールする時、configureスクリプト実行しますよね。 なんかいっぱいいろんな事してるみたいで便利そうですよね。 でも実際は何をしてるんでしょうね。 configureスクリプトの出力見てますか? エラーが起きたときしか見てない事ないですか? 先日、よく使ってるんだけどよく知らないと思われる configure スクリプトの正体について、オトバンクで勉強会をやりました。 魔法の呪文 ./configure && make && make install よく打っているコマンドだと思いますが、これだけで解決します。 素晴らしいですね!! GNU Autotools configure
コンピュータにちょっと詳しい人なら一発で解るポインタの利点 前提知識 前提知識として、ショートカットファイル(シンボリックリンク)、ファイル、ファイルパス、ハードディスクの役割について知っていれば、たぶん一発で解ります。 ポインタ変数をコンピュータで喩えると… ポインタ変数をコンピュータで喩えると、ポインタ変数、変数、アドレス、メモリ空間の関係は、それぞれ ポインタ変数=ショートカットファイル 変数=ファイル アドレス=ファイルパス メモリ空間=ハードディスク に対応します。察しの良い人ならこれだけでポインタの利点が分かると思いますが、以下で詳しく説明します。 ショートカットファイルの利点、ポインタ変数の利点 たとえば、C:\documentsに巨大なサイズのファイルがあったとします。あなたは 「このファイルにデスクトップ上からでもアクセスしたい」 と思いました。でもコピーすると時間かかる
ご存じの通りC言語には例外処理という立派なものは搭載されていない。 そこで、C言語でsetjmpという関数を使ってJavaと同等の例外処理をやってみる。 JavaとCでmy_divという関数を作って例外処理をする int型の引数を2つ持つ関数(メソッド)を定義して割り算した結果をintで返す a / bのときbがゼロの場合にゼロ除算例外を起こす a / bのときaがゼロの場合にその他の例外を起こす Javaでは・・ bがゼロの時は特に例外判定をする必要がなく、勝手にゼロ除算例外になるので次のようになる。 class Longjump { public static void main(String[] args) { int x, y, ans; if (args.length != 2) { System.err.println("Usage: java Longjump X Y");
お知らせ:このページは2013年3月末をもって削除予定です。 長らく更新していなかったにもかかわらず、見ていただいてありがとうございました。 目次 C/C++でゲームを作るには ゲーム用ライブラリの紹介 ブックマーク C/C++でゲームを作るには ゲームを作ろうと思ってC言語を学び始めても、入門書のプログラムは黒い画面に文字が出るだけ。どうすればゲームを作れるの? ……と疑問に思っている人は多いのではないでしょうか。 簡単な方法として、ゲーム用のライブラリを使えば画像の描画や音声の再生が簡単にできるようになり、ゲームを作ることができます。DirectXやOpenGLを自力で学ぶのは大変らしいので、既存のライブラリをありがたく使わせてもらいましょう。このページでは主なライブラリを紹介しています。 なお、プログラミングでゲームを作ろうと思うとかなりの時間と努力が必要です。プログラミングにあまり
informationお知らせ お知らせ (2019/4/2) SSH証明書の期限が切れておりアクセスできない状態でしたが証明書を更新して復旧させました。 お知らせ (2018/3/4) ・当ウェブサイトをhttps化しました。セキュアな通信が確立されていますので、パスワード等を入力する際に安心して御利用頂けます。 ・システムのバージョンアップに伴って従来のブログの仕組み等いくつか使えなくなっていたり、細かな仕様が変わっている部分が多々あります。これについては順次対応していきます。 お知らせ (2018/3/3) トップページ及びフォーラムの基調色を白で作り直しました。 「C言語何でも質問サイト」とは? 当サイトはゲームプログラミングを中心にプログラムのコーディング方法や設計手法を紹介しています。また、「プログラマSNS・ミクプラ」には日記や掲示板等があり、プログラマ同士での交流ができます
はじめに 昔お世話になったC Magazineの「プログラミングの禁じ手Web版 C言語編」というサイトを、後輩に教えてあげようとしたら、C Magazineの休刊後にドメインが失効してしまったようで、見る事が出来ませんでした。 幸い、InternetArchive(http://www.archive.org/web/web.php) に当時のデータがほぼ残っていたので、無許可ではありますがサルベージして転載させてもらいました。 「C MAGAZINE - プログラミングの禁じ手Web版 C言語編」 元のアドレスはこちら。 http://www.cmagazine.jp/src/kinjite/c/index.html InternetArchive http://web.archive.org/web/20070113222026/http://www.cmagazine.jp/src
C言語によるプログラミングでは、列挙型(enum型)はたいへん良く使われます。 オブジェクト指向言語でも、それは変わらないようです。C言語を拡張したC++言語ではもちろん、Java言語でも、J2SE 5.0になってから列挙型が導入されたほどです。 その一方で、オブジェクト指向言語で列挙型を使う弊害も、繰り返し指摘されてきました。列挙型とswitch文を使ったソースコードは、ポリモーフィズムを使って書き直すべき典型的な悪い例として、しばしば取り上げられて来ました。 しかし、列挙型を使ったプログラムのすべてが、ポリモーフィズムを使って書き直すべきだとは限りません。継承によるポリモーフィズムは、オブジェクト指向の特徴の1つですが、サブクラスを作るべきではないケースもあるのです。そのような場合に、列挙型を使ったコードを書くことは、悪いことではありません。 ここでは、オブジェクト指向言語における列挙
目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。
アリエルでは、プログラマとして応募してきた人に出すための設問を用意しています。現在、C版とJava版があります。 C版の作成は古くて、正直、もう廃棄してもいいかなと思わないのでもないですが、Javaは未経験でC/C++の経験はあります、という人はいますし、そういう人はいわゆるなんちゃってJavaプログラマよりは相対的に能力が高い傾向にあるのでC版も残しています。 最近、立て続けに、他は完璧な回答なのにポインタのポインタが絡む設問だけは間違い、という回答を受け取りました。結果引数(引数で値を返す関数。Cでは必要悪)で、返す値がポインタ値なので、引数の型をポインタのポインタにする必要がある設問です。他の設問で、ポインタを理解しているように見えました。しかし、ポインタのポインタが分からないということは、ポインタをきちんと分かっていないと判断せざるをえません。 昔なら一発でダメ出ししていたのですが
もうすぐあるらしい学科のプログラミングテストとやらに備えて、少しC言語を書いてみる。書いたのはPerlやRubyやPythonでは実装されている、split関数*1っぽいもの。 結局、strtokのラッパー関数みたいになってしまった。 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STR 256 #define MAX_WORD 128 // strtokと同じ引数をとる // 文字列さすポインタを要素とする配列を返す char **split(char *str, char *sep) { char *word = NULL; char *str_work = NULL; int last = 0; //うけとった文字列のコピーを作成 str_work = (char *)malloc(siz
2009年08月10日19:15 カテゴリプログラミング C言語でsplitもどき その2 せっかくなのでちゃんとしてみた。 split.h //split.h //(C)2009 あんのたん◆ANNotunzdY All Rights Reserved. #include <stdlib.h> #include <string.h> typedef char*** splitedStringArrayRef; int split(char *str, char delimiter, splitedStringArrayRef list); splitedStringArrayRef splitedStringArrayRefCreate(); char* getStringFromStringArrayRef(splitedStringArrayRef ptr, int index);
/* C言語/C++言語で2次元配列を動的に確保&解放するプログラム 2次元配列を使うとき、 double a[U][V]; と固定的に宣言すると、U,V は定数でなければなりません。 一方、このページの ALLOC_MATRIX マクロを使って、 double**a=ALLOC_MATRIX(double,u,v); と書くと、u,v の実行時の値に応じて、動的に配列が確保されます。 データへのアクセスは、固定的に宣言した場合と同じように、 x=a[i][j]; のように記述できます。例えば、 double**a=ALLOC_MATRIX(double,3,4); とした時のメモリのイメージは以下の図のようになります。 (■はdoubleへのポインタ。□はdouble。) ポインタ部 データ部 a → ■ → □□□□ ■ → □□□□ ■ → □□□□ ALLOC_MATRIX マクロ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く