指向函数的指针:指向指针的指针使用来源: 发布时间:星期四, 2009年2月12日 浏览:124次 评论:0
存储示意如图所示对维a来说若把首地址即名赋给指针变量p1p1就指向a各元素用p1表示为*(p1+i)也可以简化为*p1+i表示 如果继续作将p3=&p1则将p1地址传递给指针变量p3*p3就是p1用p3来表示维各元素只需要将用p1表示元素*(p1+i)中p1换成*p3即可表示为*(*p3+i) 同样对 2维b来说b[i]表示第i行首地址将其传递给指针变量p2使其指向该行 该行元素用p2表示为*(p2+i)若作p3=&p2则表示p3指向p2用p3表示 2维第i行元素为:*(*p3+i)这和中表示完全相同 运行: [例6-28]利用指向指针指针变量对 2维访问 #<stdio.h> #<stdlib.h> { i; charc[16]={\"clanguage\",\"fox\",\"computer\",\"homepage\"}; /* 2维*/ char *cp={c[0],c[1],c[2],c[3]};指/*针*/ char **cpp;/*指向指针指针变量*/ cpp=cp;/*将指针首地址传递给指向指针指针变量*/ for(i=0;i<4;i)/*按行输出串*/ prf(\"%s\\n\",*cpp); prf(\"-----------\\n\"); for(i=0;i<4;i)/*按行输出串*/ { cpp=&cp[i]; prf(\"%s\\n\",*cpp); } } 中需要注意是执行cpp=cp是将指针首地址传递给双重指针所以*(cpp+i)表示第i行首地址而不是cpp+i在设计时定分清 0
相关文章读者评论发表评论 |
|