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
-
C言語で線形データ構造キューを説明する
データ構造は、構造化された方法で編成されたデータのコレクションです。以下に説明するように、2つのタイプに分けられます- 線形データ構造 −データは直線的に編成されます。たとえば、配列、構造、スタック、キュー、リンクリスト。 非線形データ構造 −データは階層的に編成されています。たとえば、ツリー、グラフ、セット、テーブル。 キュー これは線形データ構造であり、挿入は後端で行われ、削除は前端で行われます。 キューの順序はFIFO–先入れ先出しです。 操作 挿入–要素をキューに挿入します。 削除–キューから要素を削除します。 条件 キューオーバーフロー-要素を完全
-
構造概念を使用してC言語でビットフィールドを説明する
ビットフィールドは、変数のサイズをビット単位で指定するために使用されます。通常、構造内で定義されます。 ビットフィールド:1バイト=8ビット たとえば、 例を以下に説明します- Struct info{ int x:2; }; ここで、xは2ビットを占めています。 範囲外のビットフィールドに値を割り当てることは無効です。 サイズとアドレス演算子はビットフィールドに適用できないため、scanfステートメントを使用してビットフィールドの値を入力することはできません。 ビットフィールドに割り当てることができるデータ型は、int、signed int、uns