C言語におけるアロー演算子について知っておくべきすべてのこと

みなさん、こんにちは!この記事では、C言語のアローオペレーターに焦点を当てます。C言語には、データレコードを扱ったり操作したりするためのさまざまな演算子があります。その中でもアローオペレーターが1つあります。

それでは、始めましょう!


C言語における矢印演算子の働きは何ですか? (C gengo ni okeru yajirushi enzan-shi no hataraki wa nan desu ka?)

C言語において、この演算子はプログラマーにStructureやUnionのデータ要素にアクセスする機能を提供します。

この演算子(->)は、マイナス(-)演算子と大なり(>)の関係演算子を使用して構築されます。さらに、ポインタ変数が参照する構造体や共用体のメンバにアクセスするのに役立ちます。

では、今、C言語におけるアロー演算子の構造に注目しましょう。


アロー演算子(->)の構文

以下の構文をご覧ください!

(pointer variable)->(variable) = value;

オペレータはポインタ変数と一緒に使用されます。つまり、ポインタ/オブジェクトが指す場所(変数)の値を保持します。

以下のセクションで、いくつかの例を通してこのオペレータを実装しましょう。


Arrow演算子(->)の例

以下の例では、構造体「Movie_info」を作成しました。さらに、Cのmalloc()関数を使用して、その構造体に対するポインターオブジェクトを作成し、動的にメモリを割り当てました。

C構造体のデータメンバーにアクセスするための矢印演算子。

#include <stdio.h>
 
struct Movie_info
{ 
    char *name; 
    char *ACC; 
};
 
int main()
{
     struct Movie_info* M;
     M = (struct Movie_info*) 
        malloc(sizeof(struct Movie_info)); 
     
     M->name = "Python with JournalDev";
     M->ACC="A";
 
     printf("Movie Information:");
     printf("\nName: %s", M->name);
     printf("\nACC: %s", M->ACC);
     return 0;
}

私たちは矢印演算子(->)を使用してデータメンバーの値にアクセスしました。

出力:

Movie Information:
Name: Python with JournalDev
ACC: A

では、今度はアロー演算子を使用してUnionのデータメンバにアクセスしてみましょう。C言語でUnionのデータメンバにアクセスするためのアロー演算子を試してみましょう。

#include <stdio.h>
 
union Movie_info
{ 
    int id;
    float net_val;
};
 
int main()
{
     union Movie_info* M;
     M = (union Movie_info*) 
        malloc(sizeof(union Movie_info)); 
     printf("Movie Information:\n");
     M->id = 01;
     printf("\n ID: %d", M->id);
     M->net_val = 125.45;
     printf("\n NET VALUE: %.1f", M->net_val);
     return 0;
}

上記のように、構造体のように、私たちは「Movie_info」というユニオンを作成し、矢印演算子を使用してデータ値にアクセスしています。

出力:

Movie Information:
ID: 1
NET VALUE: 125.4

結論

これによって、私たちはこのトピックの終わりに来ましたので、もし質問がある場合は、下にコメントしてください。


参考文献

  • Arrow operator in C – StackOverFlow
コメントを残す 0

Your email address will not be published. Required fields are marked *