-
Cライブラリのwprintf()とwscanf
ここでは、Cのwprintf()関数とwscanf()関数を示します。これらは、ワイド文字のprintf()関数とscanf()関数です。これらの関数はwchar.hにあります wprintf()関数は、ワイド文字を標準出力に出力するために使用されます。ワイド文字列形式には、%記号で始まる形式指定子が含まれる場合があります。これらは、wprintf()に渡される変数の値に置き換えられます。 構文は次のようになります- int wprintf (const wchar_t* format, ...); この関数は形式を取ります。この形式は、コンソールに書き込まれるnullで終了するワイド文
-
C / C ++の数値定数の前に0が付いているとはどういう意味ですか?
接頭辞0が付いた数値リテラルが表示される場合があります。これは、数値が8進数であることを示しています。したがって、8進リテラルの先頭には0が含まれます。たとえば、8進数が25の場合、025と書く必要があります。 例 #include <stdio.h> int main() { int a = 025; int b = 063; printf("Decimal of 25(Octal) is %d\n", a); printf("Decimal of
-
C++でManglingとextern「C」に名前を付けます
C ++では、関数のオーバーロード機能を使用できます。この機能を使用して、同じ名前の関数を作成できます。唯一の違いは、引数のタイプと引数の数です。ここでは、リターンタイプは考慮されていません。ここで、C ++がオブジェクトコード内のオーバーロードされた関数をどのように区別するかが問題になりますか? オブジェクトコードでは、引数に関する情報を追加して名前を変更します。ここで適用される手法は、名前マングリングと呼ばれます。 C ++には、名前マングリングのための標準化された手法がありません。したがって、コンパイラが異なれば、使用する手法も異なります。 これが名前マングリングの例です。オーバーロ
-
Cでのファイル処理の基本
ここでは、Cでの基本的なファイル処理操作をいくつか示します。操作は次のとおりです。 ファイルへの書き込み ファイルからの読み取り ファイルに追加する ファイルに書き込む コードを参照して、ファイルへの書き込み方法を理解してください サンプルコード #include <stdio.h> int main() { FILE *fp; char *filename = "sample.txt"; char *content = "Hey there! You've s
-
Cで指定されたイニシャライザー
C90標準では、位置0、1、2のインデックスを初期化するなど、固定された順序で配列を初期化する必要があります。 C99標準から、Cで指定された初期化機能が導入されました。ここでは、要素をランダムな順序で初期化できます。初期化は、配列インデックスまたは構造体メンバーを使用して実行できます。この拡張機能はGNUC++では実装されていません。 インデックスを指定して値を入力すると、次のようになります- int arr[6] = {[3] = 20, [5] = 40}; or int arr[6] = {[3]20, [5]40}; これはこれと同等です: int arr[6] = {0, 0,
-
C / C ++で変数がNULLかどうかを確認するにはどうすればよいですか?
CまたはC++では、NULL値を比較するための特別な方法はありません。 ifステートメントを使用して、変数がnullかどうかを確認できます。 ここでは、1つのプログラムを確認します。システムに存在しない読み取りモードでファイルを開こうとします。したがって、関数はnull値を返します。 ifステートメントを使用して確認できます。理解を深めるためにコードを参照してください。 サンプルコード #include <stdio.h> main() { //try to open a file in read mode, which is not present &
-
CおよびC++での未定義動作
ここでは、いくつかのCおよびC++コードを確認します。結果を推測してみてください。コードはいくつかのランタイムエラーを生成します。 1.ゼロ除算エラーは未定義です。 サンプルコード #include <iostream> using namespace std; int main() { int x = 10, y = 0; int z = x / y; cout << "Done" << endl; } 出力 Runtime error for divide
-
C、C ++、およびJavaでの浮動小数点演算と結合性
C、C ++、およびJavaでは、浮動小数点数を使用していくつかの数学演算を実行します。ここで、浮動小数点数が結合法則に従っているかどうかを確認します。 答えはいいえだ。浮動小数点数が結合法則に従わない場合があります。ここにいくつかの例があります。 サンプルコード #include<iostream> using namespace std; main() { float x = -500000000; float y = 500000000; float z = 1; cou
-
インライン関数を使用する場合とC/C ++で使用しない場合は?
C ++には、インライン関数と呼ばれる優れた機能が1つあります。この種の関数は、CまたはC++のマクロに似ています。インライン関数を使用するには、inlineキーワードを指定する必要があります。このタイプの関数はどこでも使用できますが、いくつかのガイドラインに従う必要があります。 インラインを使用できるのはいつですか? マクロの代わりにインライン関数を使用できます(#define) 小さな関数の場合、インライン関数を使用できます。より高速なコードとより小さな実行可能ファイルを作成します。 関数が小さく、頻繁に呼び出される場合は、インラインで使用できます。 インラインの
-
Cでのフォーマット指定子
フォーマット指定子は、Cで入力および出力の目的で使用されます。この概念を使用すると、コンパイラーは、scanf()関数を使用して入力を受け取り、printf()関数を使用して印刷するときに、変数に含まれるデータのタイプを理解できます。これがフォーマット指定子のリストです。 フォーマット指定子 タイプ %c キャラクター %d 符号付き整数 %eまたは%E フロートの科学的記数法 %f フロート値 %gまたは%G %eまたは%Eと同様 %hi 符号付き整数(短い) %hu 符号なし整数(短い) %i 符号なし整数 %lまたは%ldまたは%
-
C++でコンパイルされないCプログラム
C ++言語は、Cでのオブジェクト指向の概念などのいくつかの追加機能を追加することによって設計されています。ほとんどのCプログラムは、C++コンパイラを使用してコンパイルすることもできます。 C++コンパイラを使用してコンパイルできないプログラムもあります。 Cコンパイラではコンパイルされますが、C++コンパイラではコンパイルされないコードをいくつか見てみましょう。 このプログラムでは、C++コードのコンパイルエラーが1つ発生します。以前に宣言されていない関数を呼び出そうとしているためです。しかし、Cではコンパイルされる可能性があります Cの場合。 例 #include<stdio
-
CとC++で異なる結果を生成するプログラムを作成します
ここでは、CまたはC++コンパイラでコンパイルされた場合に異なる結果を返すプログラムをいくつか紹介します。そのようなプログラムはたくさんありますが、ここではそれらのいくつかについて説明しています。 CおよびC++では、文字リテラルは異なる方法で扱われます。 Cではintとして扱われますが、C++では文字として扱われます。したがって、sizeof()演算子を使用してサイズを確認すると、Cでは4、C++では1が返されます。 Cの場合。 例 #include<stdio.h> int main() { printf("The character:
-
C / C ++のctime()関数
Cライブラリ関数char* ctime(const time_t * timer) 引数タイマーに基づいて現地時間を表す文字列を返します。 返される文字列の形式は次のとおりです-WwwMmm dd hh:mm:ss yyyy 、ここで Www 平日です、うーん 文字で表した月、 dd 月の日、 hh:mm:ss 時間、および yyyy 年。 構文は次のようになります- char *ctime(const time_t *timer) この関数は、カレンダー時刻を含むtime_tへのポインターを取得します。人間が読める形式で日付と時刻の情報を含む文字列を返します。 例 #incl
-
C / C ++でポインタの配列(ギザギザ)を使用するにはどうすればよいですか?
3つの整数の配列を使用する次の例を考えてみましょう- Cの場合 例 #include <stdio.h> const int MAX = 3; int main () { int var[] = {10, 100, 200}; int i; for (i = 0; i < MAX; i++) { printf("Value of var[%d] = %d\n", i, var[i] ); } &nb
-
自分のヘッダーファイルをCで書く方法は?
Cで独自のヘッダーファイルを作成する手順- コードを入力して「sub.h」として保存します。 メインプログラム「subtraction.c」を記述します。ここで- 新しいヘッダーファイルをインクルードします。 の代わりに「sub.h」と書く これで、sub.hヘッダーのすべての関数を使用できるようになりました。 関数sub()を直接呼び出します。 「subtraction.c」と「sub.h」の両方が同じフォルダにある必要があります。 Sub.h int sub(int m,int n) { return(m-n); } subtraction.c 例
-
標準のC/C++を使用してファイルが存在するかどうかを確認するための最良の方法
ファイルが存在するかどうかを確認する唯一の方法は、読み取りまたは書き込みのためにファイルを開こうとすることです。 これが例です- Cの場合 例 #include<stdio.h> int main() { /* try to open file to read */ FILE *file; if (file = fopen("a.txt", "r")) { fclose(file);  
-
C /C++でのポインタのアプリケーション
配列要素にアクセスするには ポインタを使用して配列要素にアクセスできます。 Cの場合 例 #include <stdio.h> int main() { int a[] = { 60, 70, 20, 40 }; printf("%d\n", *(a + 1)); return 0; } 出力 70 C++の場合 例 #include <iostream> using namespace std; int main() { int a[] = {
-
Cの関数ポインタ
関数ポインタは、通常のポインタのようにコードを指します。 関数ポインタでは、関数の名前を使用して関数のアドレスを取得できます。 関数は引数として渡すこともでき、関数から返すこともできます。 宣言 function_return_type(*Pointer_name)(function argument list) 例 #include<stdio.h> int subtraction (int a, int b) { return a-b; } int main() { int (*fp) (int, int)=subtrac
-
C / C ++でポインタを比較する方法は?
同じ配列を指している場合は、ポインターを比較できます。リレーショナルポインタを使用して、2つのポインタを比較できます。ポインタを掛けたり割ったりすることはできません。 Cの場合 例 #include <stdio.h> int main() { int *p2; int *p1; p2 = (int *)300; p1 = (int *)200; if(p1 > p2) { printf("P1
-
C / C ++でポインタ変数を宣言する方法は?
ポインタは、変数のアドレスを格納するために使用されます。 C / C ++でポインタ変数を宣言するには、名前の前にアスタリスク(*)を使用します。 宣言 *pointer_name Cの場合 例 #include <stdio.h> int main() { // A normal integer variable int a = 7; // A pointer variable that holds address of a. int *p = &a; &