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

Cでのメモリ割り当てとコンパイルプロセスに関するMCQ


ここでは、メモリ割り当てとコンパイルプロセスに関するMCQの質問をいくつか紹介します。

質問1 −次のコードの出力はどうなりますか?-

#include <stdio.h>
#include <stdlib.h>
int main() {
   union my_union {
      int i;
      float f;
      char c;
   };
   union my_union* u;
   u = (union my_union*)malloc(sizeof(union my_union));
   u->f = 20.60f;
   printf("%f", u->f);
}

オプション

  • ガベージバリュー
  • 20.600000
  • 構文エラー
  • 20.6

説明

ユニオンを使用すると、同じメモリ位置を使用して複数のタイプのデータを保持できます。ユニオンのすべてのメンバーは、最大スペースを持つ同じメモリ位置を使用します。ここでは、20.60f=20.600000のfloatが使用されています。したがって、回答Bは正しいです。

質問2 −コンパイルプロセスの正しいシーケンスは何ですか-

オプション

  • アセンブラ、コンパイラ、プリプロセッサ、リンク
  • コンパイラ、アセンブラ、プリプロセッサ、リンク
  • プリプロセッサ、コンパイラ、アセンブラ、リンク
  • アセンブラ、コンパイラ、リンク、プリプロセッサ

説明

オプションCは正しいです。最初にコードを前処理してからコンパイルし、その後、アセンブリレベルのコードまたはオブジェクトコードを作成してから、リンクを作成します。

質問3 −次の説明のうち正しいものはどれですか?

オプション

  • コードのリンク中に#includeはstdio.hに置き換えられます
  • 前処理中に、コード#includeはstdio.hに置き換えられます
  • 実行中、コード#includeはstdio.hに置き換えられます
  • コードの編集中に、#includeはstdio.hに置き換えられます

説明

オプションBは正しいです。最初に、前処理されたコードを作成し、そのフェーズで、#includeステートメントに記載されているファイルに存在するコードをコードに添付してからコンパイラーに送信します。

質問4 − fflush()関数を使用する目的−

オプション

  • すべてのストリームと指定されたストリームをフラッシュするには
  • 指定されたストリームのみをフラッシュするには
  • 入出力バッファをフラッシュするには
  • これは無効なライブラリ関数です

説明

この関数は、出力ストリームのみをフラッシュするために使用されます。出力バッファをクリアし、出力をコンソールに送信します。オプションAは正しいです。

質問5 −次のコードのエラーを指摘します-

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
   char* ptr;
   *ptr = (int*)malloc(30);
   strcpy(ptr, "ABC");
   printf("%s", ptr);
   free(ptr);
}

オプション

  • strcpy()ステートメントのエラー
  • * ptr =(int *)malloc(30);
  • のエラー
  • free(ptr)のエラー
  • エラーなし

説明

オプションBは正しいです。ここで、これはキャストなしでポインタから整数を作成します


  1. 修正:wsappxによる高いCPUとメモリの使用

    Wsappxは、タスクマネージャーのプロセスリストに表示されるプロセスです。このプロセスが何であるか疑問に思うかもしれませんし、なぜこのプロセスが多くのCPU使用率を引き起こしているのか疑問に思うかもしれません。 wsappxのCPU使用率がランダムに増減することに気付くでしょう。場合によっては、大量のCPUを使用しないこともありますが、このプロセスによってCPU使用率が高くなることもあります。このプロセスをダブルクリックすると、wsappxの下にさらに2つのプロセスが表示されます。これらのサブプロセスには、AppXSVC、ClipSVC(またはWindows 8ではWSService)という

  2. Windows 10 のシステムおよび圧縮メモリによる 100% のディスク使用率を修正

    システム メモリと圧縮メモリは、Windows 10 で、ファイルとフォルダーを RAM に割り当てるために使用されるプロセスとして導入されました。一般に、システムとメモリに関連するアクションを実行するために小さなスペースを使用します。この問題は、スペースを作成するはずのプロセスがディスク使用量の 100% を占める場合に発生します。プロセスがコンピュータのディスク使用率を高め始めると、他のプログラムが影響を受けます。多くのユーザーから、Windows 10 のシステムおよび圧縮メモリが必要以上に多くのディスクを使用していると報告されています。 さらに、ディスク スピードアップを使用します