易百教程

了解指针

C语言中的指针是什么?

指针是包含内存位置的变量。指针是一种变量。 它必须在代码中声明,并且必须在使用之前进行初始化。

指针的声明具有以下格式:

type *name;

上面的代码中,type指针标识为charintfloat等。名称是指针变量的名称,该名称必须是唯一的。
星号(*)将变量标识为指针,而不是常规变量。
以下行声明了一个char指针char_pointer:

char *char_pointer;

下面一行代码创建了一个double指针:

double *rainbow;

要初始化指针,必须将其值设置为内存位置。
该位置不能是内存中的随机地址,它必须是程序中另一个变量的地址。 例如:

char_pointer = &my_char;

前面的语句将char_pointer指针变量初始化为my_char变量的地址。两个变量都是char类型。 执行该语句后,char_pointer指针包含my_char变量的地址。
以下代码显示指针char_pointer包含变量my_char的地址或内存位置。

#include <stdio.h> 

int main()
{ 
   char my_char; 
   char *char_pointer; 

   my_char = 'A';            /* 初始化 char 变量 */ 
   char_pointer = &my_char;  /* 初始化指针 */ 

   printf("关于变量 'my_char' 的信息:\n"); 
   printf("大小:\t\t%ld\n",sizeof(my_char)); 
   printf("内容:\t%c\n",my_char); 
   printf("地址:\t%p\n",&my_char); 
   printf("关于变量 'char_pointer':\n"); 
   printf("内容\t%p\n",char_pointer); 

   return(0); 
}

执行上面示例代码,得到以下结果:

关于变量 'my_char' 的信息:
大小:          1
内容:  A
地址:  0109F7FF
关于变量 'char_pointer':
内容    0109F7FF