記事のディレクトリ
ポインタとは何ですか?
ポインタは、その値が別の変数のアドレスを、メモリ位置の、すなわち、直接アドレスで可変です。他の変数または定数、他の変数のポインタストレージを使用する前に必須のアドレスと同じように、それが宣言されています。ポインタ変数の宣言の一般的な形態である:
type *var-name;
タイプは、基本タイプのポインタであり、それが有効なCのデータ型である必要があり、VAR-nameは、ポインタ変数の名前です。
ポインタの使い方
ポインタ変数を定義し、変数はポインタ変数使用可能なアドレスの値にアクセスするには、アドレスポインタに割り当てられています。
#include <stdio.h>
int main ()
{
int var = 20; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */
ip = &var; /* 在指针变量中存储 var 的地址 */
printf("Address of var variable: %p\n", &var );
/* 在指针变量中存储的地址 */
printf("Address stored in ip variable: %p\n", ip );
/* 使用指针访问值 */
printf("Value of *ip variable: %d\n", *ip );
return 0;
}
次のようにコンパイルされた結果は、
Address of var variable: bffd8b3c
Address stored in ip variable: bffd8b3c
Value of *ip variable: 20
cがNULLポインタであります
正確なアドレスを割り当てることができない場合場合、変数の宣言は、NULLポインタ変数が割り当てられます。フーNULLポインタ値がNULLポインタと呼ばれています。
#include <stdio.h>
int main ()
{
int *ptr = NULL;
printf("ptr 的地址是 %p\n", ptr );
return 0;
}
業績
ptr 的地址是 0x0
0は、メモリ・アドレス・ポインタがアクセス可能なメモリ位置を指していないことを示しています。ポインタがNULL値(ゼロ値)が含まれている場合しかし、慣例により、何を指していないことが想定されます。