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

CとC++での文字リテラルの型の違い


C ++では、文字定数のサイズはcharです。 Cでは、characterconstantのタイプは整数(int)です。したがって、Cではsizeof(‘a’)は32ビットアーキテクチャでは4であり、CHAR_BITは8です。ただし、sizeof(char)はCとC++の両方で1バイトです。

#include<stdio.h>
main() {
   printf("%d", sizeof('a'));
}

出力

4

#include<iostream>
using namespace std;
main() {
   cout << sizeof('a');
}

出力

1

どちらの場合も同じことをしています。ただし、Cではsizeof(‘a’)は整数として扱われるため4を返します。ただし、C++では1を返します。文字として扱われます。


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

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

  2. データ型とデータ構造の違い

    私たちが知っているように、プログラミングは完全にデータを中心に展開します。これは、すべてのビジネスロジックが実装されるデータであり、アプリケーションまたはプロジェクトの機能を構成するデータの流れです。そのため、最適化された使用のためにデータを整理して保存し、優れたデータモデルを使用して効果的なプログラミングを行うことが非常に重要になります。 一般に、データ型とデータ構造はどちらもデータの性質と編成を扱うのと同じように見えますが、2つのうち、1つはデータの種類と性質を表し、もう1つはそのデータを保存できるコレクションを表します。 データ型とデータ構造の重要な違いは次のとおりです Sr。