• ベストアンサー

BOOLの初期値は?

tanma3の回答

  • ベストアンサー
  • tanma3
  • ベストアンサー率58% (14/24)
回答No.1

>決まった初期値が入っているのでしょうか? C,C++の言語仕様的には不定値です。 正確に言うと、スタック内に確保されるメモリアドレスのその時点の値になります。 但し、VC++6.0の場合、debugにてコンパイルした場合には初期値0xccccccccが代入されています。

meeyooyoo
質問者

お礼

tanma3様 有難うございました。 必ず初期化するように心がけます!

関連するQ&A

  • BOOLに変わるもの

    コンパイラーによってBOOLは古い?とエラーになります。TRUEかFALSEの1ビットしかいらないのに、INTやCHARを使うのでしょうか?BOOLに変わる新しい?宣言ってあるのでしょうか?

  • wsprintfで浮動小数を扱うには?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <質問> wsprintf(a,"%f",b); MessageBox(a); で実行すると"f"が出力されました。 浮動小数を出力するにはどうしたら良いのでしょうか? よろしくお願いします。

  • スレッドの作成と起動

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <質問> ボタンを押すとOnButton()に入ります。 OnButton()内でワーカースレッドを起動させたいのですが、 どのようにコーディングするのでしょうか? スレッドの作成方法も分かりません・・。 宜しければご指摘お願い致します。

  • ボタンが押された事を検知するには?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <目的> 1.ダイアログにボタン1を配置する 2.処理A(無限ループ)を開始する 3.処理Aの先頭でボタン1が押されたか判断する 4.ボタン1が押された場合処理Aを終了し、処理Bを行う というプログラムを作成する。 <質問> 目的のプログラムを作成するには、ボタン1が押された事を検知する 必要があると思うのですが、その方法が分かりません。 ボタンが押された事を検知するにはどうしたら良いのでしょうか? 宜しければご指摘お願い致します。

  • MFCのexeのプログラムを MFCのdllに書き換えたい

    VC++6.0を使用しています 新規作成 MFC AppWizard(exe) 新規 OK [ステップ1] ダイアログベース 次へ [ステップ2/4] 次へ [ステップ3/4] 次へ [ステップ4/4] 終了 で作られた、雛型のexeをそっくりMFCのDLLに書き換えたい と考えています exeで作られたアプリを他のユーザーがVB6.0からDLLとして呼び出したいので書き換えて欲しいと頼まれました MFCのDLLも雛型は簡単に出来上がるのですが 以下の関数を独立したオブジェクトにして、VB6.0からDLLの関数VBFUNC1として呼び出したいのですが、VBから呼び出すと AfxEnableControlContainer();でアサートで引っ掛かってしまいます ダイアログを使用したMFCのEXEをDLLとして使う場合の、コーディングについてご指南ください BOOL CAaaApp::VBFUNC1() //BOOL CAaaApp::InitInstance() {   AfxEnableControlContainer(); #ifdef _AFXDLL   Enable3dControls(); #else   Enable3dControlsStatic(); #endif   CAaaDlg dlg;   m_pMainWnd = &dlg;   int nResponse = dlg.DoModal();   if (nResponse == IDOK)   {   }   else if (nResponse == IDCANCEL)   {   }   return FALSE; }

  • スピンボタンの使い方

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <症状> ダイアログエディタでスピンボタンを配置し、ClassWizardでCSpinButtonCtrl型のメンバ変数を追加しました。 その後コンパイルするとエラー出ないのですが、実行出来ませんでした。 デバッグをすると、「ハンドルされていない例外は、試作.exeに あります:0xC0000005: Access Violation。」 が表示されて、それ以上先には進めません。 メンバ変数を削除すると、症状は無くなります。 <質問> メンバ変数を追加するだけで何故このような症状が出るのでしょうか? スピンボタンでは 初期値40 レンジ:0~80 増加幅:10 減少幅:-10 で設定したいのですが、どのようにしたら良いのでしょか? 宜しければご指摘お願い致します。

  • ダイアログ、ボタンについて

    VC++でプログラミングしています。 MFC AppWizard(exe) でダイアログベースで造っています。 以下の方法を教えてください。 ・EXE起動時、ダイアログのサイズを変更したい。 起動時に画面サイズをチェックして、画面いっぱいの大きさにしたいため。 ・EXE起動後、ボタンに表示している文字列を変更したい。 識者の方、ご教授願います。

  • WriteFileのエラー995は何が原因?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <症状> 以下のコード部分は、これまでエラーは無かったのですが、 他の部分をいろいろといじった結果以下のコードでエラーが出るように なりました。 HANDLE hCom;//COMポートのハンドル OVERLAPPED old;//構造体 unsigned char ucBuf[];//送信する内容 DWORD dwByte;//送信するバイト数 //上記変数は宣言後、正しい値を入れています。 BOOL blRet;//実行結果 if(WriteFile(hCom,ucBuf,dwByte,NULL,&old) == 0){ blRet = GetLastError(); } を実行後、blRetの結果を確認すると995で、 「スレッドが終了したか、またはアプリケーション要求によって、I/O 処理が中止されました。」 が出ました。 <質問> このエラーは何が原因でしょうか? 宜しければご指摘の程よろしくお願いします。

  • MFCで作成したプログラムが起動しない(起動した瞬間に終了してしまう?)

    VC++6.0,MFCのダイアログベースでプログラムを作成しています. コンパイル,ビルドとも特にエラー,警告なく行えるのですが,なぜかプログラムが起動しません. メンバ変数をコメントアウトしたり,グローバルで宣言したりするとうまくいったりします. いったい,このような現象の原因としてどのようなことが考えられるのでしょうか.困っております. よろしくお願いします.

  • bool

    素数を求めるプログラムを作りました。 素数か、そうでないかを1か0で区別していたのですが、 よりメモリを効率よく使いたいため、booleanを使ったらどうだという案をいただきやってみたのですが、エラーが出てしまいました。 このプログラムの何がいけないのですか? #include<stdio.h> #include<stdbool.h> #define n 250000 main(){ int i,p,k,w,np,s; bool pn[n]; np=0; for(i=0;i<n;i++){ pn[i]=false; } for(i=0;i<=n;i++){ if(pn[i]==false){ p=3*i+5-(i%2); w=2*p; for(k=i+w;k<=n;k+=w){ pn[k]=true; } s=5*i+7-2*(i%2); for(k=s;k<n;k+=w){ pn[k]=true; } np++; } } printf("%10d",np+2); }