设为首页 加入收藏

TOP

8.2.3 指针的定义与访问
2013-10-12 09:25:51 来源: 作者: 【 】 浏览:130
Tags:8.2.3 指针 定义 访问

8.2.3  指针的定义与访问

指针也有数据类型。指针的数据类型需要和它所指向的变量类型匹配。定义指针的方法是用定义变量的方法,在变量名称前面加一个"*"。例如下面的代码是指向不同数据类型的指针。

  1. 01  int *p1;                        /*定义一个指向整型变量的指针。*/  
  2. 02  char *p2;                   /*定义指向一个字符型变量的指针。*/  
  3. 03  float *p3;                  /*定义一个指向浮点型变量的指针。*/  

一个变量是用"&"取地址的。一个指针变量可以用"*"来取这个变量指向的数值。例如范例8-3所示的代码是使用指针访问变量的实例。

【范例8-3】指针的使用案例,实例代码如下所示。

实例代码8-3

  1. 01  #include <stdio.h> 
  2. 02  int main()  
  3. 03  {  
  4. 04     int i ,j;                            /*定义两个整型变量。*/  
  5. 01     int *p;                          /*定义一个指向整型变量的指针。*/  
  6. 02     char a ,b;                           /*定义两个字符变量。*/  
  7. 03     char *q;                         /*定义一个指向字符变量的指针。*/  
  8. 04     i=5;                             /*i赋值为5。*/  
  9. 05     p=&i;                                /*取i的地址赋值给p。*/  
  10. 06     j=*p;                                /*取指针p指向的变量值赋值给j。*/  
  11. 07     a='w';                               /*a赋值为w。*/  
  12. 08     q = &a;                          /*取a的地址赋值给指针变量q。*/  
  13. 09     b=*q;                                /*取指针q指向的变量值赋值给b。*/  
  14. 10     printf("%d  %d  %d \n",i ,j ,*p);        /*输出结果。*/  
  15. 11     printf("%c  %c  %c \n",a ,b ,*q);        /*输出结果。*/  
  16. 12     return 0;  
  17. 13  }  

【执行结果】输入下面的命令,编译这个程序。
  1. gcc 8.3.c 

输入下面的命令,运行这个程序。
  1. ./a.out 

程序的运行结果如下所示。
  1. 5  5  5  
  2. w  w  w 

从结果可知,通过一个指向变量的指针,可以访问被指向变量的值。在C语言的函数参数中,常常通过指针来访问一个变量的值。

【代码解析】实例代码8-3的代码解析如下:

代码第01行和第03行分别定义了两个指针变量。

代码第05行和第08行将变量的地址赋值给指针变量。

代码第10行和第11行输出指针变量和非指针变量的值。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.12.1 “按位与”运算符 (&) 下一篇8.1 数组的理解与操作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: