Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C /C++でのアサーション


ここでは、C /C++でのアサーションとは何かを見ていきます。 Cライブラリマクロvoidassert(int expression)を使用すると、診断情報を標準エラーファイルに書き込むことができます。つまり、Cプログラムに診断を追加するために使用できます。

以下はassert()マクロの宣言です。

void assert(int expression);

このassert()のパラメーターはです −これは変数または任意のC式にすることができます。 表現の場合 TRUEと評価され、assert()は何もしません。 表現の場合 FALSEと評価され、assert()は stderrにエラーメッセージを表示します (エラーメッセージと診断を表示するための標準エラーストリーム)そしてプログラムの実行を中止します。

サンプルコード

#include <assert.h>
#include <stdio.h>
int main () {
   int a;
   char str[50];
   printf("Enter an integer value: ");
   scanf("%d", &a);
   assert(a >= 10);
   printf("Integer entered is %d\n", a);
   printf("Enter string: ");
   scanf("%s", &str);
   assert(str != NULL);
   printf("String entered is: %s\n", str);
   return(0);
}

出力

Enter an integer value: 11
Integer entered is 11
Enter string: tutorialspoint
String entered is: tutorialspoint

  1. C / C ++のmemcpy()

    この記事では、C ++ STLでのmemcpy()関数の動作、構文、および例について説明します。 memcpy()とは何ですか? memcpy()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 memcpy()関数は、メモリのブロックをコピーするために使用されます。この関数は、あるメモリ位置から別のメモリ位置に値の数をコピーするために使用されます。 関数の結果は、データのバイナリコピーです。この関数は、終了ソースまたは終了ヌル文字をチェックせず、ソースからnumバイトをコピーするだけです。 例 void memcpy( void* destin

  2. C / C ++のAAツリー?

    コンピュータサイエンスのAAツリーは、順序付けられたデータを効率的に保存および取得するために実装されたバランスの取れたツリーの形式として定義されます。 AAツリーは、エントリの効率的な追加と削除をサポートするバイナリ検索ツリーの形式である赤黒ツリーのバリエーションとして扱われます。赤黒木とは対照的に、AAツリーの赤いノードは、左のサブチャイルドではなく、右のサブチャイルドとしてのみ追加できます。この操作の結果、2-3-4ツリーではなく2-3ツリーのシミュレーションが行われるため、メンテナンス操作が簡素化されます。赤黒木のメンテナンスアルゴリズムでは、ツリーのバランスを適切にとるために、7つの異