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

C言語のさまざまな種類のポインターは何ですか?


ポインタは、別の変数のアドレスを格納する変数です。

ポインタの構文は次のとおりです-

pointer = &variable;

ポインタの種類

ポインタには次の8種類があります-

  • ヌルポインタ

  • ボイドポインタ

  • ワイルドポインタ

  • ダングリングポインタ

  • 複雑なポインタ

  • ポインタの近く

  • 遠いポインタ

  • 巨大なポインター

ヌルポインタ

ポインタ宣言時にnull値を割り当てることにより、nullポインタを作成します。

この方法は、ポインタにアドレスを割り当てない場合に便利です。 nullポインタには常に値0が含まれます。

以下は、nullポインタのCプログラムです-

#include <stdio.h>
int main(){
   int *ptr = NULL; //null pointer
   printf("The value inside variable ptr is:\n%d",ptr);
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

The value inside variable ptr is:
0

ボイドポインタ

これは、関連付けられたデータ型を持たないポインターです。 voidポインタは、任意のタイプのアドレスを保持でき、任意のタイプに型キャストできます。

ジェネリックポインタとも呼ばれ、標準のデータ型はありません。

キーワードvoidを使用して作成されます。

以下は、voidポインタのCプログラムです-

#include <stdio.h>
int main(){
   void *p = NULL; //void pointer
   printf("The size of pointer is:%d\n",sizeof(p)); //size of p depends on compiler
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

The size of pointer is:8

ワイルドポインタ

ワイルドポインタは、初期化されていないポインタとも呼ばれます。それらは任意のメモリ位置を指しているため、プログラムがクラッシュしたり、動作が悪くなる可能性があります。

このタイプのCポインターは効率的ではありません。それらは、プログラムで問題を引き起こす可能性のある未知のメモリ位置を指している可能性があるためです。これにより、プログラムがクラッシュする可能性があります。

ワイルドポインタを操作するときは注意することをお勧めします。

以下は、ワイルドポインタのCプログラムです-

#include <stdio.h>
int main(){
   int *p; //wild pointer
   printf("\n%d",*p);
   return 0;
}
Process returned -1073741819 (0xC0000005) execution time : 1.206 s
Press any key to continue
i.e. you won’t get output, some compilers show error message at output

  1. Windowsのセーフモードとは何ですか?セーフモードの種類は何ですか?

    この投稿では、Windowsのセーフモードとはを紹介します。 さまざまな種類のセーフモードとは何ですか –セーフモード、ネットワークを使用したセーフモード、コマンドプロンプトを使用したセーフモード、およびそれらの意味など。 ほとんどのWindowsユーザーは、Windowsの問題を診断またはトラブルシューティングする必要がある場合に必要になることが多いため、セーフモードに精通している可能性があります。 Windowsをセーフモードで起動する方法と、Windowsをセーフモードで直接再起動する方法については、すでに説明しました。次に、セーフモードの意味と、WindowsOSが提供するセー

  2. Windowsのセーフモードとは何ですか?セーフモードの種類は何ですか?

    この投稿では、Windowsのセーフモードとはを紹介します。 さまざまな種類のセーフモードとは何ですか –セーフモード、ネットワークを使用したセーフモード、コマンドプロンプトを使用したセーフモード、およびそれらの意味など。 ほとんどのWindowsユーザーは、Windowsの問題を診断またはトラブルシューティングする必要がある場合に必要になることが多いため、セーフモードに精通している可能性があります。 Windowsをセーフモードで起動する方法と、Windowsをセーフモードで直接再起動する方法については、すでに説明しました。次に、セーフモードの意味と、WindowsOSが提供するセー