C言語での bool の分類や使い方などについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ムンバ

C言語での bool の分類や使い方などについて

#1

投稿記事 by ムンバ » 15年前

こんばんは。いつもお世話になります。

C言語での bool の分類や使い方が解りません。

昨日から、検索エンジンで調べまくってるのですが
検索の仕方が悪いのかもしれません。^^;
手持ちの本にも記載されていませんでした。<古いからかもです?

検索で調べたサイト内での、ご解説に
boolの分類?だと思われるもの

・基本データ型
・真偽値型
・bool関数
・bool型
・真か偽かを扱う型(とも言えます。)
・trueかfalseの何れかを取る変数

などなどが記述されてありました。

C言語での bool の分類(種類)を
私の様な、C言語初心者にも解る様に、ご指導頂ける方
ご解説の程、宜しくお願い致します。

Q1:bool のC言語初心者に対する一般的な分類をお聞きしたいです。
  うまくお伝えできなければ申し訳御座いません。

Q2:C言語初心者が、bool を、もしも必要とした時
  どういう時に bool を使ったら良いのか
  ご指導頂ける方がいらっしゃれば、宜しくお願い致します。

たかぎ

Re:C言語での bool の分類や使い方などについて

#2

投稿記事 by たかぎ » 15年前

> Q1:bool のC言語初心者に対する一般的な分類をお聞きしたいです。
>   うまくお伝えできなければ申し訳御座いません。

マクロです。

> Q2:C言語初心者が、bool を、もしも必要とした時
>   どういう時に bool を使ったら良いのか
>   ご指導頂ける方がいらっしゃれば、宜しくお願い致します。

真偽値を使いたいときで、かつC99以上に対応したコンパイラが使える場合です。
また、C90やC95への移植性に配慮する場合は使うべきではありません。

バグ

Re:C言語での bool の分類や使い方などについて

#3

投稿記事 by バグ » 15年前

ON・OFF、OK・NG、成功・失敗など二者択一の場合に使うのが一般的かと思われます。
戻り値が1か0しかありえない関数なんかだと、bool型にしてしまった方が分かりやすいかもしれませんね。
ただ、bool型でなければいけない状況というのは思い付かないです。

ムンバ

Re:C言語での bool の分類や使い方などについて

#4

投稿記事 by ムンバ » 15年前

たかぎさん、バグさん、早速のご解説どうもありがとう御座います。

私の環境を書き忘れていました。すみません。
Windows7(Pro 32bit)
Microsoft Visual Studio 9.0

>たかぎさん
 ご解説頂きありがとうございます。
 bool の分類は、マクロ と言う分類で宜しいのでしょうか?

 >>真偽値を使いたいときで、かつC99以上に対応したコンパイラが使える場合です。
 >>また、C90やC95への移植性に配慮する場合は使うべきではありません。
  初心者の範囲?を、どう受け止めるかとかは別にしたいと思うのですが
  (生意気言って、すみません。<(_ _)>)
 >C90やC95への移植性に配慮する場合
  私の様な初心者には、理解できないのです。申し訳御座いません。

>バグさん
 Dixqさんの、サンプルプログラミングの館にある「ぷよぷよもどき」
 暇つぶしとは失礼かと思いますが・・・ごめんなさい。<(_ _)>
 自宅でも職場でも、遊ばせて頂いています。
 ありがとうございます。
 
 >>ただ、bool型でなければいけない状況というのは思い付かないです。

 bool は、最初はCにはなくて、C++に boolが入って?から
 後からC言語に追加されたと、ご解説されてるサイトがありました。
 
bool : 真(True)と偽(False)の二つの値しか持たない。

bool が気になったので質問させて頂きましたが
使い方が解らないし、使う必要が無い場合には、
使い方が解らないんだったら、使わない方がいい。
って感じで、自己処理しても宜しいでしょうか?
何とも bool 扱い方が難しいです。

ご解説、ありがとう御座いました。<(_ _)>

たかぎ

Re:C言語での bool の分類や使い方などについて

#5

投稿記事 by たかぎ » 15年前

> bool の分類は、マクロ と言う分類で宜しいのでしょうか?

Cの場合はそうです。
ただし、C99からしかサポートされません。
Visual Studio 2008はC99に対応していませんので、boolマクロは使えません。

> >C90やC95への移植性に配慮する場合
>   私の様な初心者には、理解できないのです。申し訳御座いません。

早い話が、Visual Studio 2008のようなC99に対応していないコンパイラを使うのであれば、boolマクロは使えないということです。

boolマクロおよびその実体である_Bool型は、1と0以外の値になることはありませんので、どんな値になるか分からないint型より明確かつ安全です。
ですので、boolマクロ(または_Bool型)を使える状況であれば優先的にそれを使うべきです。
boolや_Boolが使えない状況というのは、Visual Studioのようにサポートしないコンパイラを使わざるを得ない場合だけです。

たかぎ

Re:C言語での bool の分類や使い方などについて

#6

投稿記事 by たかぎ » 15年前

一応確認しますが、本当にCでboolを使うかどうかという話しなのでしょうか?
(Cのような使い方しかしていないとしても)C++であればまったく話は別になります。

ムンバ

Re:C言語での bool の分類や使い方などについて

#7

投稿記事 by ムンバ » 15年前

はっ・・・!?そうかっ!

>ON・OFF、OK・NG、成功・失敗など二者択一の場合に使うのが一般的かと思われます。

バグさん、理解できました。

今日は、ゆっくり寝れそうです。
どうもありがとうございました。^^ 画像

ムンバ

Re:C言語での bool の分類や使い方などについて

#8

投稿記事 by ムンバ » 15年前

たかぎさん、ごめんなさい!
解決ボタン、押しちゃいました。ガ━━(= ̄□ ̄=)━━ン!!

高木さんにレス頂いたの確認しないまま、レス「 No:51449 」してしまいました。<(_ _)>
すみません。後日、必ずご報告致します。
おやすみなさい。(涙

ムンバ

Re:C言語での bool の分類や使い方などについて

#9

投稿記事 by ムンバ » 15年前

こんにちは。
解決マーク済みのスレ(レス?)、申し訳御座いません。

たかぎさん、すみませんでした。
No:51446のご解説ありがとうございます。
了解です!

>> 一応確認しますが、本当にCでboolを使うかどうかという話しなのでしょうか?

はい。
14歳からはじめるC言語オンラインゲームプログラミング教室
という本の「C言語をおさらいしよう」と言う項目のソース内に
bool が出てきたので質問させて頂きました。

たかぎ

Re:C言語での bool の分類や使い方などについて

#10

投稿記事 by たかぎ » 15年前

> 14歳からはじめるC言語オンラインゲームプログラミング教室

その本はDXライブラリを使うのでは?
それなら、CではなくC++ですよ。

ムンバ

Re:C言語での bool の分類や使い方などについて

#11

投稿記事 by ムンバ » 15年前

ええっ!?
確かに、DXライブラリを使ってC言語で・・・?^^;
C++なんですか?
C言語ってC++も含むんですか?Cだけじゃなく???(激汗
 ↑ この辺、これから調べてみます。^^

以前、こちらの掲示板で、たがきさんがおっしゃられていた様に
CとC++の区別をしっかり分けた方がいい
と言う様な事をおっしゃってましたが・・・。

そうでしたか。
色々なご解説、本当にありがとう御座いました。
勉強になります!
この本は、このまま続けます。

長々とすみませんでした。
また解らない事があれば(できる限り自力でとは思ってますが)
質問させて頂きますので、その節は宜しくお願い致します。
ありがとうございました。 画像

たかぎ

Re:C言語での bool の分類や使い方などについて

#12

投稿記事 by たかぎ » 15年前

> 確かに、DXライブラリを使ってC言語で・・・?^^;
> C++なんですか?

その本の中は見ていませんが、C++でしょうね。
強引にライブラリをラップしてCで使えないこともないでしょうが...

> C言語ってC++も含むんですか?Cだけじゃなく???(激汗

含みません。
CとC++は似て非なる別の言語です。

たかぎ

Re:C言語での bool の分類や使い方などについて

#13

投稿記事 by たかぎ » 15年前

C++の場合、boolは基本型のうちの汎整数型にあたります。
マクロではありません。

ムンバ

Re:C言語での bool の分類や使い方などについて

#14

投稿記事 by ムンバ » 15年前

早速のご返信、ありがとうございます。

了解しました!何度も、すみませんでした。<(_ _)>
この先、C++も余力があれば勉強してみたいと思ってます。

何度もしつこいですが、本当にありがとうございました。(感謝 画像

たかぎ

Re:C言語での bool の分類や使い方などについて

#15

投稿記事 by たかぎ » 15年前

> この先、C++も余力があれば勉強してみたいと思ってます。

というか、今やっているのはC++ですよね。

ムンバ

Re:C言語での bool の分類や使い方などについて

#16

投稿記事 by ムンバ » 15年前

勝手ながら、解決マークを解除させて頂きました。
この行為が規約違反でしたら、どうかご指導下さい。
悪意や嫌疑等は御座いませんので、ご了承下さい。
ご指導の程、宜しくお願い致します。<(_ _)>

>>というか、今やっているのはC++ですよね。

たかぎさん、うまくお伝えできなければ申し訳御座いません。
また、貴重なお時間を割いてのご解説、感謝致します。
C++が、C言語の後継?などと言う事は本で見た事がある。
程度のレベルですし、プログラミングは本職では無いので
どうぞお手柔らかにお願い致します。

私には今勉強している、この本の内容(ソースなど)がC言語であるかC++であるかの区別が付きません。
「14歳からはじめるC言語オンラインゲームプログラミング教室」と表題?にあったので・・・
つまり、書名内に「C言語」 とありましたので
内容が今まで勉強してきたC言語だと思って、この本をネット検索して購入しました。

今まで読んだ本は

・これからはじめるC言語の本(著者:朝井 淳)
・猫でもわかる C言語プログラミング(著者:灸井 康孝)

です。

この二冊の本に
C++が、ソース内や解説に有るのか無いのか自分には解りません。

「猫でもわかるC言語プログラミング」の本で、理解できない事があると
「苦しんで覚えるC言語」を参照させて頂き
それでもわからない事があると、検索エンジンで調べ
さらに解らない時は、こちらの掲示板にて質問させて頂いていました。

C言語を勉強し始めたきっかけは
昔、参加していたネットゲームが閉鎖になってしまい
その時に参加していた方々との交流が、未だに続いている事もあって
似た様なゲームでも作れたらいいな~。
という不順なきっかけで、C言語の勉強を始めました。
不順と言っても、やましい事とかは考えていませんよ。w

この過程でも、C++が混ざっていたのかもしれませんが、私には区別が付かないのです。(汗

プログラムを最初に勉強したのは、CGI(Perl)なのですが(HTMLも少し^^;)
当時はCGIでも、閉鎖になったネットゲームが作れるかも?と思ってたので
CGIの本や参考サイトを参考に、作ろうと思って勉強してみたのですが
結局CGIでは、カウンターと掲示板を作れる事しかできず
作ってる途中で知り合いから、閉鎖になった同じ様なゲームは
CGIではできないという事を知らされ
(その後の事は、とてつもなく長くなってしまうので、途中略させて頂きます。
 既に長いですが、ご勘弁です。)
C言語の勉強をしようと思った次第です。

「14歳からはじめるC言語オンラインゲームプログラミング教室」

C言語だと思って購入したのですが・・・
C言語オンラインゲームプログラミング教室
と、C言語って表記されてるので
C言語でネットゲームが作れると思って購入したのですが
実はC++でした。
って事ですか?

たかぎ

Re:C言語での bool の分類や使い方などについて

#17

投稿記事 by たかぎ » 15年前

> どうぞお手柔らかにお願い致します。

別にいじめているわけではないですよ。
自分が今何を学んでいるかぐらいははっきりさせておくべきだといっているだけです。

> 「14歳からはじめるC言語オンラインゲームプログラミング教室」
>
> C言語だと思って購入したのですが・・・
> C言語オンラインゲームプログラミング教室
> と、C言語って表記されてるので
> C言語でネットゲームが作れると思って購入したのですが
> 実はC++でした。
> って事ですか?

そういうことです。
そのタイトルは明らかに購買者を困惑させていますので、訴えられても文句いえないような気がします。

本のタイトルは出版社がつけるので、ふつう著者に責任はありません。
ただ、同種のタイトルの本が複数出ているので、2冊目以降は著者も同罪のような気がします。

ムンバ

Re:C言語での bool の分類や使い方などについて

#18

投稿記事 by ムンバ » 15年前

このレス、長い雑談含んでますのでお許しを。

>>別にいじめているわけではないですよ。

 自分、解ってると思います。たかぎさん♪
 お心使い感謝致します。

 でなければ、こちらの掲示板を利用させて頂いてません。
 とっくに逃避行していると思います。
 C言語も止めちゃってますよ。きっと。
 だったら、止めれば!って言われても止めませんが。w
 こちらの掲示板で、ご解説頂いている皆さんに
 ご指導頂いたので、ここまでできたのだと思います。
 ありがとうございます!

 1年半くらい前に初めて、こちらで質問等させて頂いた時に、良く(←「good」の意味です)
 たかぎさんには、いじめられましたからね。(笑

 でも厳しいお言葉は、今の私には必要だったと思っているのです。
 今思うと私の発言は、妬(ねたみ)とか僻(ひがみ)にしか聞こえません。
 自分の努力が足りないんですよね。すぐに他人に頼ったり逃げたりして・・・
 青春ドラマかっ?ルーキーズの影響か?(自爆

>>自分が今何を学んでいるかぐらいははっきりさせておくべきだといっているだけです。

 だって書名に「C言語」って文字が含まれてたら
 表題や書名に、C++とかは書いてない限りと言うか、そういう場合は
 C言語だと思うじゃ~ないですか~っ!?<って他人に当たるな!俺。^^;

 キューさんが、いつもおっしゃってる様に
 本屋さんに行って、自分の目で確かめ
 自分に合った本を買うのが、良いのかもしれませんね。
 
 C言語とC++の区別がつかない勉強不足の私が訴えるつもりとかは無いです。
 勉強させて頂いてますし。(笑

 ・自分が買った本の1冊目で文句があり、間違いがあれば出版社を訴える。
 ・自分が買った本の2冊目に、1冊目と同じ著者で間違いがあって訂正?しない出版社で
  同じ著者の同種のタイトルの本があったら、著者を訴える。
 
 確かに自分で選び買った本に困惑はしていますが
 自分の理解度が足りないと言われては、それまででして。

 ちなみに、訴えるとか気力は無いです。
 が、場合によっては可能性も有り得ますよね。
 だって、C言語って見出しに書いてあるのですものね。
 
 
 

 

たかぎ

Re:C言語での bool の分類や使い方などについて

#19

投稿記事 by たかぎ » 15年前

> 確かに自分で選び買った本に困惑はしていますが
> 自分の理解度が足りないと言われては、それまででして。

これは読者の理解度の問題ではありません。
ラテン語を勉強しようと思って『ラテン語入門』という本を買ってきたけれど、中で解説しているのは実はイタリア語だったとしたらどうでしょう。
イタリア語はラテン語から派生した言語なので、同じようなもんでしょうか?
タイトルを見て、それがイタリア語の本だと気づかないのは読者の理解度が足りないせいでしょうか?
そんなはずはありませんよね。

> ちなみに、訴えるとか気力は無いです。

ムンバさんが本当に訴える必要はないですが、本を作る側はそれぐらいの覚悟がいるという話です。

ムンバ

Re:C言語での bool の分類や使い方などについて

#20

投稿記事 by ムンバ » 15年前

たかぎさん!

このスレは、「C言語での bool の分類や使い方などについて」で質問させて頂いてますので
一旦解決させて頂き、宜しければ新スレッドで
新たに話し合い(雑談など)させて頂いても宜しいでしょうか?w

お時間ある時での雑談などと、新スレッドさせて頂けませんでしょうか?^^

もし宜しければ、良いタイトルなど思いつけば、たかぎさんから新規投稿で
私も思いつけば新規投稿でスレッド入れさせて頂きます。
もちろん、管理人さんからSTOPが入れば、アウトと言う事で。www

>>本を作る側はそれぐらいの覚悟がいるという話です。

 この辺り、自分がこの先本を購入するのに、個人的にご意見頂きたい事もあり。(笑

と言う事で、一旦解決させて頂きますね。
ありがとうございました。(謝

---追伸---

>>ラテン語を勉強しようと思って『ラテン語入門』という本を買ってきたけれど
>>中で解説しているのは実はイタリア語だったとしたらどうでしょう。

それはそれは、ごけったいな本で何より~・・・
って、ぶち切れますよっ!それはっ!(爆
今日は寝ますね。おやすみなさい。(∪。∪)。。。zzzZZ 画像

たかぎ

Re:C言語での bool の分類や使い方などについて

#21

投稿記事 by たかぎ » 15年前

> このスレは、「C言語での bool の分類や使い方などについて」で質問させて頂いてますので
> 一旦解決させて頂き、宜しければ新スレッドで
> 新たに話し合い(雑談など)させて頂いても宜しいでしょうか?w

そうですね。
boolについては、最後にまとめると...

Cならマクロ、C++なら汎整数型です。

ムンバ

Re:C言語での bool の分類や使い方などについて

#22

投稿記事 by ムンバ » 15年前

ありがとうございました!
今後とも、宜しくお願いします。

閉鎖

“C言語何でも質問掲示板” へ戻る