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

C ++プログラムの「struct」と「typedefstruct」の違いは?


基本的に、構造体は構造体を定義するために使用されます。ただし、これを使用する場合は、Cでstructキーワードを使用する必要があります。typedefキーワードを使用してから新しい名前を使用すると、structキーワードを記述せずに、その名前でstructを使用できます。

C ++では、「struct」と「typedef struct」の間に違いはありません。これは、C ++では、名前が別の宣言によって隠されていない限り、すべてのstruct / union / enum/class宣言が暗黙的にtypedefされたように動作するためです。同じ名前で。

typedefを前方宣言できないという微妙な違いが1つあります。したがって、typedefオプションの場合、どこでも使用する前に、typedefを含むファイルを含める必要があります。


  1. C++の「struct」と「typedefstruct」の違いは?

    C ++では、structとtypedef structの間に違いはありません。これは、C ++では、すべてのstruct / union / enum/class宣言が暗黙的にtypedefであるかのように動作するためです。 ed、同じ名前の別の宣言によって名前が隠されていない限り。 typedefを前方宣言できないという微妙な違いが1つありますが、したがって、typedefオプションの場合、どこでも使用する前に、typedefを含むファイルを含める必要があります。

  2. C++文字列定数と文字定数の違い

    C ++では、一重引用符で囲まれた文字は文字リテラルです。文字型です。たとえば、「a」は、ASCIIベースのシステムでは値97のchar型です。 二重引用符で囲まれた1文字または文字列は、文字列リテラルを表します。これはconstchar[]型であり、文字列の長さ+1のサイズの配列を参照します。その余分な文字は文字列の終わりを示すためにあります。 文字列リテラルは、「abcdefg」のように任意の長さにすることができます。文字リテラルには、ほとんどの場合、1文字だけが含まれます。これらが印刷されるとき、文字列リテラルは、文字列で最初の\0またはNULL文字が検出されるまで印刷されます。