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

C言語でメンバーのない構造を宣言する


問題

Cでメンバーのない構造を宣言できますか?はいの場合、その構造のサイズはどのくらいになりますか?

解決策

はい、Cプログラミング言語では、メンバーなしで構造体を宣言できます。その場合、メンバーなしの構造体のサイズは0(ゼロ)になります。ゼロサイズの構造になります。

#include <stdio.h>
//structure with no members
struct temp{
};
int main(){
   //declaring structure variable
   struct temp T;
   printf("Size of T: %d\n",sizeof(T));
   return 0;
}

出力

このCプログラムでは、変数を宣言せずに「temp」という名前の構造体を宣言しているため、「temp」はメンバーのない構造体です。

次に、その変数「T」(構造体変数)を宣言し、sizeof()演算子を使用して「T」で占有サイズを出力すると、結果は「0」になります。

Size of T: 0

  1. C言語で線形データ構造キューを説明する

    データ構造は、構造化された方法で編成されたデータのコレクションです。以下に説明するように、2つのタイプに分けられます- 線形データ構造 −データは直線的に編成されます。たとえば、配列、構造、スタック、キュー、リンクリスト。 非線形データ構造 −データは階層的に編成されています。たとえば、ツリー、グラフ、セット、テーブル。 キュー これは線形データ構造であり、挿入は後端で行われ、削除は前端で行われます。 キューの順序はFIFO–先入れ先出しです。 操作 挿入–要素をキューに挿入します。 削除–キューから要素を削除します。 条件 キューオーバーフロー-要素を完全

  2. 構造概念を使用してC言語でビットフィールドを説明する

    ビットフィールドは、変数のサイズをビット単位で指定するために使用されます。通常、構造内で定義されます。 ビットフィールド:1バイト=8ビット たとえば、 例を以下に説明します- Struct info{    int x:2; }; ここで、xは2ビットを占めています。 範囲外のビットフィールドに値を割り当てることは無効です。 サイズとアドレス演算子はビットフィールドに適用できないため、scanfステートメントを使用してビットフィールドの値を入力することはできません。 ビットフィールドに割り当てることができるデータ型は、int、signed int、uns