目次
main
ログイン後にコピー
" >
main
ログイン後にコピー
error
ログイン後にコピー
" >
error
ログイン後にコピー
ホームページ バックエンド開発 C++ C 言語では、事前定義された識別子 __func__

C 言語では、事前定義された識別子 __func__

Aug 30, 2023 pm 12:49 PM
C言語 事前定義された識別子 __func__

C 言語では、事前定義された識別子 __func__

識別子 は、プログラム内でエンティティを識別するためにプログラミングでエンティティに与えられる名前です。

通常、識別子は効率的に動作するためにプログラマによって作成されますが、プログラミングに組み込まれた事前定義された識別子もいくつかあります。たとえば、cout、cin などです。

ここでは、C プログラミング言語の事前定義された識別子である __func__ について説明します。

#__func__ の正式な定義は -

です。 「識別子 __func__ は、各関数定義の左中括弧の直後であるかのように、翻訳者によって暗黙的に宣言されます。宣言は同じです」 ."

static const char __func__[] = “function-name”;
ログイン後にコピー

appeared、ここで function-name は字句的に囲む関数の名前です。"

C プログラム __func__ は、コンパイラによって生成された識別子であり、識別するために作成されます。関数名を使用した関数。

概念をより明確にするために、いくつかのコード例を見てみましょう。

Example

ライブ デモ

#include <stdio.h>
void function1 (void){
   printf ("%s</p><p>", __func__);
}
void function2 (void){
   printf ("%s</p><p>", __func__);
   function1 ();
}
int main (){
   function2 ();
   return 0;
}
ログイン後にコピー

出力

function2
function1
ログイン後にコピー

説明 - ここでは、__func__ メソッドを使用して、呼び出される関数の名前を返します。識別子は、呼び出された関数の名前を返します。両方の print ステートメントで __func__ を呼び出して取得します。独自のメソッド参照。

この識別子はメイン メソッドでも使用できます。例:

Example

Online Demonstration

#include <stdio.h>
int main (){
   printf ("%s</p><p>", __func__);
   return 0;
}
ログイン後にコピー

Output

main
ログイン後にコピー

ただし、これは上書きできません。つまり、__func__ は関数名のみに予約されています。それ以外のものを保存するために使用すると、エラーが返されます。

例を見てみましょう

ライブ デモ

#include <stdio.h>
int __func__ = 123;
int main (){
   printf ("%s</p><p>", __func__);
   return 0;
}
ログイン後にコピー

出力

error
ログイン後にコピー

C プログラミング言語には、同様の認識作業を実行できる類似の関数が他にもあります。 # - 現在のファイルの名前を返します。

__LINE__ - 現在の行の番号を返します。

実装を示すコードを見てみましょう

オンラインデモンストレーション

#include <stdio.h>
void function1(){
   printf("The function: %s is in line: %d of the file :%s</p><p>", __func__,__LINE__,__FILE__);
}
int main(){
   function1();
   return 0;
}
ログイン後にコピー

出力

The function: function1 is in line: 3 of the file :main.c
ログイン後にコピー

説明

- これらは、ファイルに関する情報を収集するときに使用される可能性のある一般的な関数です。名前、コード行、および現在呼び出されている関数に関する情報には、 __func__、__LINE__、__FILE__ 識別子を使用します。

以上がC 言語では、事前定義された識別子 __func__の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語でのtypedef構造体の使い方 C言語でのtypedef構造体の使い方 May 09, 2024 am 10:15 AM

typedef struct は、構造体の使用を簡素化するために構造体型のエイリアスを作成するために C 言語で使用されます。構造体の別名を指定することで、新しいデータ型を既存の構造体に別名付けします。利点としては、可読性の向上、コードの再利用、型チェックなどが挙げられます。注: エイリアスを使用する前に構造体を定義する必要があります。エイリアスはプログラム内で一意であり、宣言されているスコープ内でのみ有効である必要があります。

C言語で実数は何を意味しますか C言語で実数は何を意味しますか May 09, 2024 pm 12:06 PM

real は、C 言語で倍精度浮動小数点数を表すために使用されるデータ型で、8 バイトを占有し、小数点以下 15 桁程度の精度を持ち、範囲は [-1.7976931348623157e+308, 1.7976931348623157e+308] です。

C言語でのrestrictの使い方 C言語でのrestrictの使い方 May 08, 2024 pm 01:30 PM

strict キーワードは、変数にはポインターによってのみアクセスできることをコンパイラーに通知するために使用され、未定義の動作を防止し、コードを最適化し、読みやすさを向上させます。複数のポインターが同じ変数を指している場合の未定義の動作を防止します。コードを最適化するために、コンパイラは、restrict キーワードを使用して変数アクセスを最適化します。変数にはポインターによってのみアクセスできることを示すことで、コードの可読性が向上します。

_C言語での複雑な使い方 _C言語での複雑な使い方 May 08, 2024 pm 01:27 PM

複素数型は、C 言語で実数部と虚数部を含む複素数を表すために使用されます。その初期化形式は complex_number = 3.14 + 2.71i で、実数部は creal(complex_number) を通じてアクセスでき、虚数部は cimag(complex_number) を通じてアクセスできます。この型は、加算、減算、乗算、除算、剰余などの一般的な数学演算をサポートします。さらに、cpow、csqrt、cexp、csin など、複素数を処理するための一連の関数が提供されています。

C言語でべき乗関数を実装する方法 C言語でべき乗関数を実装する方法 May 09, 2024 pm 11:33 PM

C 言語では、べき乗演算を実装する方法が 2 つあります。 pow() 関数を使用して、最初のパラメーターの 2 番目のパラメーターのべき乗を計算します。カスタム累乗関数を定義します。これは再帰的または反復的に実装できます。再帰的メソッドは、累乗が 0 になるまで 2 倍にし続けます。反復法では、ループを使用して基数を 1 つずつ乗算します。

C言語のscanfでエラーが発生した場合の対処方法 C言語のscanfでエラーが発生した場合の対処方法 May 09, 2024 am 11:39 AM

C 言語では、scanf 関数のエラーを処理する方法は次のとおりです。 1. フォーマット文字列を確認する、 3. 戻り値を確認する、 5. エラー処理関数を使用する、 6. を使用する。カスタムエラーに対処します。エラーを防ぐには、正しいデータ型を使用し、入力を慎重に検証し、戻り値を確認し、プログラム内の潜在的なエラーを処理します。

_C言語でブールとはどういう意味ですか? _C言語でブールとはどういう意味ですか? May 08, 2024 pm 01:33 PM

_Bool は C 言語のブール型を表し、true または false の 2 つの値のみを含む単純なデータ型で、通常は 1 バイトのメモリを占有し、true または false のみを格納します。 false。偽の値。

C言語でregは何を意味しますか C言語でregは何を意味しますか May 09, 2024 am 09:57 AM

reg は C 言語のレジスタのキーワードであり、レジスタを指すポインタ変数を宣言するために使用されます。構文: register data_type *var_name; ここで、data_type はレジスタに格納されているデータ型、var_name はポインター変数の名前です。レジスタ内の値はポインタを逆参照することでアクセスできますが、利用可能なレジスタはプラットフォームやコンパイラによって異なることに注意してください。

See all articles