指针数组和数组指针
2015-12-03 20:53
363 查看
博客园 :: 首页 :: 新随笔 :: 订阅 :: 管理 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一介布衣兮,乐享学习之心得 | 指针数组和数组指针的区别Posted on 2012-01-10 11:15 romi 阅读(61923) 评论(10) 编辑 收藏这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。 指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,即指向数组的指针 还要注意的是他们用法的区别,下面举例说明。 int* a[4] 指针数组 表示:数组a中的元素都为int型指针 元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于* int (*a)[4] 数组指针 表示:指向数组a的指针 元素表示:(*a)[i] 注意:在实际应用中,对于指针数组,我们经常这样使用: 代码演示如下: 类似的还有指针函数和函数指针,遇到了再说吧。 分类: C/C++ 标签: 指针数组, 数组指针, 区别 好文要顶 关注我 收藏该文 romi 关注 - 4 粉丝 - 124 +加关注 15 1 (请您对文章做出评价) « 上一篇:C++主要数据类型在计算机中所占字节大小 » 下一篇:字节存储排序:大端和小端的判别及转换 Feedback#1楼2012-08-24 13:35 by 理工紫学习了 支持(1)反对(0) #2楼2013-09-15 17:33 by 小浪花恩,很有帮助 ,谢谢了 支持(0)反对(0) #3楼2014-05-12 16:54 by 绝影未绝很不错! 支持(0)反对(0) #4楼2014-05-19 11:10 by cumtchw但若在for循环内写*a[i]=c[i],这同样会出问题。 我是菜鸟,这一句不明白 支持(0)反对(0) #5楼2014-06-05 17:41 by 雨中的路@cumtchw 首先数组a中存放的是指针,即应该是一个整型变量的地址。 那么 *a[i]=c[i] 语句的意思就是将c[i]这个整型变量的值 赋给 地址为a[i]一个整型变量。 但是注意此时数组a中的a[i]指针变量的值并没有赋值,那么就是对一个未知的地址取值,那么根本就无法找到*a[i]这个变量,又怎么将c[i]的值赋给*a[i]呢。 以上是我的理解,不一定保证绝对正确。 ps:你可以在编译器上单步调试一下,看一下a[i]里面的存放的地址的值的变化就可以了。 支持(0)反对(0) #6楼2015-02-06 09:46 by guohuihui错误 支持(0)反对(0) #7楼2015-03-18 15:21 by Jacy_liu@cumtchw 因为你的a[i]中装的是地址(指针),你在未对指针初始化的情况下就对它指向的单元赋值,是不可行的。写的有点拗口,哈哈哈。。。。 支持(0)反对(0) #8楼2015-03-18 15:22 by Jacy_liu学习了,谢谢楼主!!! 支持(0)反对(0) #9楼2015-08-02 19:52 by 木头和马尾有错误,c本身就表示地址,不能对c再取地址 支持(0)反对(1) #10楼2015-09-26 21:18 by lookingfor@木头和马尾 你没有试过怎么知道不可以呢。 支持(0)反对(0) 刷新评论刷新页面返回顶部 注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。 博客园首页博问新闻闪存程序员招聘知识库 最新IT新闻: · “机器人之父”恩格尔伯格逝世,曾造出世界第一个工业机器人 · 资本寒冬下,生活在创业大街的人们 · 百度全家桶全面整合Kindle及Fire平板 成默认搜索引擎 · Uber向第三方应用开放打车功能 · 淘宝拍卖牵手万科,1212上线百余套江浙房源部分5折起拍 » 更多新闻... 最新知识库文章: · 从涂鸦到发布——理解API的设计过程 · 好的架构是进化来的,不是设计来的 · 被误解的MVC和被神化的MVVM · 再谈设计和编码 · 什么时候应该避免写代码注释? » 更多知识库文章... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Powered by: 博客园 Copyright © romi |
相关文章推荐
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
- hdu 5569 matrix(dp)
- GPU基础知识
- Fragment销毁时replace和add两个方法的区别
- HDU 1698 Just a Hook(线段树的区间更新《标记》)
- glibc 中的 __attribute__ 关键字
- android有关图片的操作(一)
- Hadoop是如何工作的
- JVM知识学习与巩固
- hdu 5568 sequence2(dp + 大数)
- 使用Fragment实现底部菜单栏
- eclipse 导入tomcat7源码
- Android 修改当前显示时间
- leetcode -- Add Binary -- 简单要了解
- hdu 5567 sequence1(水)
- dataTables-使用详细说明整理,还有各种参数、回调方法
- 数据挖掘十大算法
- class(类)和struct(结构)的区别
- MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
- (三)、Express 路由、静态文件、