グッドデザイン賞を受賞したウォーターサーバー >>

GTKプログラミングで型宣言するときにgintとかgdoubleなどとgをつけて型宣言をしていますが、なぜgを付けるんでしょうか?
初心者ゆえに分からず困っています。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

これらは GTK+ で利用している GLib で定義されている型です。

おそらくGLib で定義していることを表すために頭文字の g を付けているのだと思います。

で、なぜそのような型を定義しているかですが、GLib リファレンスマニュアルの基本型ページ(参考URL、英語)の Description 節で GLib で定義している型を以下の 4 つに分類しています。
・標準 C には無い型
・すべてのプラットフォームで同一のサイズになる整数型
・標準 C での表記よりも利用しやすくするための型
・標準 C にある型だが、他と見た目をあわせたもの
今回の gint と gdouble は上記の 4 番目にあたります。

参考URL:http://library.gnome.org/devel/glib/stable/glib- …
    • good
    • 0
この回答へのお礼

ありがとうございます!
なるほどすごくすっきりしました。
英語が怖くて読もうとしなかったのですがちゃんと読まないと日本語の情報が少ないGTKプログラミングは難しいですね。

お礼日時:2010/06/09 11:12

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q変数の型でlong longとunsigned long longと言うのは何ですか?

教えていただきたいのですが、変数の型にlong longやunsigned long long
なるものがあると聞いたのですが、どのようなものでしょうか?
また、どのように宣言するのでしょうか?通常のlongなどと同じ要領で宣言し
てやれば良いのでしょうか?
もし、この型がある場合に、制約はあるのでしょうか?Unixでしか使えないとか
の制約等ありましたらぜひ教えてください。
お願いいたします。

Aベストアンサー

long longはANSI-Cの新しい改訂版C99で正式に採用されました。
C99以前のANSI-C対応処理系では独自拡張(gccなど)です。
環境の指定が無いので独自拡張は無視してANS-C99について解答します。

long longまたはlong long int=64ビット符号付き整数
unsigned long longまたはunsigned long long int=64ビット符号無し整数

定数の場合はLL(=long long)またはLLU(=unsigned long long)を付加する。
LL,LLU小文字でもよい。
1LL,0LL,100000000000lluなど

long long系の整数使うライブラリ関数について
・printf/scanf系書式の追加
%lld(=long long) および%llu(=unsigned long long)
・その他ライブラリ関数
文字列整数化:strtollが用意される。

現状では日本語で読めるC99の包括的な資料は存在しません。
英語版で良ければC99のドラフトが参考URLで読むことができます。

参考URL:http://anubis.dkuug.dk/JTC1/SC22/WG14/

long longはANSI-Cの新しい改訂版C99で正式に採用されました。
C99以前のANSI-C対応処理系では独自拡張(gccなど)です。
環境の指定が無いので独自拡張は無視してANS-C99について解答します。

long longまたはlong long int=64ビット符号付き整数
unsigned long longまたはunsigned long long int=64ビット符号無し整数

定数の場合はLL(=long long)またはLLU(=unsigned long long)を付加する。
LL,LLU小文字でもよい。
1LL,0LL,100000000000lluなど

long long系の整数使うライブラリ関数について
・...続きを読む


人気Q&Aランキング