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

C / C ++プログラムのセグメンテーション違反とは何ですか?


プログラムがアクセスを許可されていないメモリ領域にアクセスしようとすると、セグメンテーション違反が発生します。つまり、プログラムが、オペレーティングシステムがプログラムに割り当てた制限を超えたメモリにアクセスしようとしたとき。

セグメンテーション違反は、主に次のポインタが原因で発生します:

  • 適切に初期化されることに慣れています。

  • それらが指すメモリが再割り当てまたは解放された後に使用されます。

  • インデックスが配列の境界外にあるインデックス付き配列で使用されます。


  1. 線形探索のためのC/C ++プログラム?

    線形探索アルゴリズムでは、ターゲット要素を配列の各要素と比較します。要素が見つかった場合は、その位置が表示されます。 線形探索の最悪の場合の時間計算量はO(n)です。 Input: arr[] = { 12, 35, 69, 74, 165, 54} Sea=165 Output: 165 is present at location 5. 説明 線形検索(検索アルゴリズム)。これは、指定された数値が配列に存在するかどうか、および存在する場合はどの場所で発生するかを見つけるために使用されます。シーケンシャル検索とも呼ばれます。これは簡単で、次のように機能します。各要素を検索する要素と比較し

  2. n番目のカタラン数のC/C ++プログラム?

    カタラン数は一連の数です。カタラン数は、さまざまなカウントの問題で発生する一連の自然数を形成します。多くの場合、再帰的に定義されたオブジェクトが関係します。 C n 長さ2nのディック言語の数です。ディックワードは、n個のXとn個のYで構成される文字列であり、文字列の最初のセグメントにXより多くのYが含まれることはありません。たとえば、次は長さ6のディック言語です XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY. 記号Xを開き括弧として、Yを閉じ括弧として再解釈します。C n 正しく一致するn組の括弧を含む式の数をカウントします ((()