怎样使用指向数值的指针

这个不是指向数组哦,int *p[3]是指针的数组,由3个指向int值的指针构成。
指向数组是 int (*p)[3] 声明了指向int[3]数组的指针p

转自:http://bbs.csdn.net/topics/390415730?page=1#post-394124429

先来看看三个指向字符串的指针变量:
  指针变量 site 指向一个字符串: char* site = "birduu.com";
  指针变量 context 指向一个字符串: char* context = "course textbook";
  指针变量 feature 也指向一个字符串: char* feature = "free";
  这三个指针变量的基类型相同,同为字符型,所以它们可以放在一个数组中,就把这个数组起名叫 birduu。数组 birduu 包含三个指针元素:
  char* birduu[3] = {site,context,feature};
  birduu 就叫做指针数组,因为它的数组元素都是指针。内存示意图及定义讲解如下:

实际上指针数组 birduu一般都直接这样定义:char* birduu[3] = {"birduu.com","course handbook","free"}; 内存示意如下图所示:


如果想通过指针数组 birduu 取出"birduu.com"字符串的第一个字符'b'可以采用以下几种形式:birduu[0][0]、*(birduu[0]) 、 **birduu、(*birduu)[0] 。其中的 *(birduu[0]) ,根据运算符的优先级,括号可以去掉。

posted @ 2013-04-06 14:29  stma  阅读(553)  评论(0)    收藏  举报