社区
C语言
帖子详情
数组与指针的区别,详细点,谢了。
DelphiStudy
2003-05-16 06:52:34
UP
...全文
122
10
打赏
收藏
数组与指针的区别,详细点,谢了。
UP
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangning5168
2003-05-17
打赏
举报
回复
mutexking说的其实很对,慢慢的在编程中体会吧,一定有收获的。
baobaowang
2003-05-16
打赏
举报
回复
mark
MelodyCanFLY
2003-05-16
打赏
举报
回复
关注!!
mlsmls0129
2003-05-16
打赏
举报
回复
头一个人对我的帮助不小啊
以前我感觉也是很难记最重要的是记住运算符的优先级!
mutexking
2003-05-16
打赏
举报
回复
指针更更类似于数组名,我觉得将指针与数组名比较记忆更好点。
指针和数组名都是一个地存内址的指向,通过对两者的使用,都可得到该地存地址上的值,但所不同是的,指针更低层一些,其仅仅是指向内存地址的标示,而数组却被c语言赋予了更大的含义。
我们谈数组,更多的将其理解为一组确定数的集合,而数组名就是这组数的头一个,通过数组名的下标的变化则可顺序访问所有的数组成员,但我们可能谈问这些成员,当走到最后一个数的时候,c系统就不会让你往下走的,否则报错,而指针而不然,他的使用是相当灵活的,你可以将其指向一个单独的变量,也可以将其与动态分配内存命令合起来使用的话,你就可以用指针实现数组名的郊果。
如果你想应试,告诉你几个重要,区别应该是可以混过去的。
1由指针定义的数组是无限空间
2用c命令定义的数组是有限空间的
3在使用时,数组名和指针可等同视之
数组名就是指针,指针就是数组名。
见例:
int a[8],*b,u,v;
b=a;
u=a[2];
v=*(b+2);
此时u与v的值是一样的。
Muf
2003-05-16
打赏
举报
回复
1: int* 和 int[], 其中 int[] 其实是 int const*
即 int* p; p 可以赋值,如 p=NULL;
int a[3]; a 不可以赋值,如 a=NULL; 是错误的。因为a是常量。
2: sizeof操作不一样,请见 greening(逆风寒翎) 的说明
greening
2003-05-16
打赏
举报
回复
一列火车叫做a,有10节,所以叫做a[10],其中每一节叫做a[0]a[1]......a[9](看起来很象火车吧:)所以在作为数组时,sizeof(a)=4*10=40,相当于它的容量;在作为指针看的时候(相当于你有知道这列火车的站台号(地址)的车票),sizeof(a)=4,只有这个火车头的大小。
arcsiny
2003-05-16
打赏
举报
回复
自己看书吧
看不明白以后怎么学习
遇到实在不懂的问题再来问比较好
DelphiStudy
2003-05-16
打赏
举报
回复
谢谢,我找了这样的话,更糊涂了,唉。。。。。。
DelphiStudy
2003-05-16
打赏
举报
回复
数组指针 AND 指针数组
作者:bood
C语言中最容易使人头脑发昏的东西之一就是指针, 而关于指针的类型定义也是一件让人烦恼的东西。比如,下面的两个定义到底干了什么:char *a[10],还有这个:char (* a)[10]。呵呵,感觉如何?
实际上,前者(char *a[10])定义的是一个指针数组,而后者(char (*a)[10])指的却是一个指向数组的指针,且被指的数组有十个元素组成。原因很简单,因为运算符‘[]’的优先级高于指针运算符‘*’。
那怎么才能记住这个呢?当然,根本的办法就是去记住运算符的优先级,然而,C语言的运算符优先级可不是这么一两个哦,你得花点时间上去才行。我这里倒有一个方法,这是从一位网友那儿学来的 :我们可以做一个定义:#define char* PCHAR,这么一来,char *a[10]就变成PCHAR a[10]了,哈哈,真好理解!
顺便说一下,在强制类型转换时,要转换成数组指针要这么干:(char (*)[])少了星号两边的括号可不行。
程序设计简明教程 C++描述
【作 者】
谢
书良,茅青海主编 【出版发行】 上海市:华东理工大学出版社 ...【内容提要】 本书包括:程序设计概述、基本数据类型、运算符与表达式、面向过程程序的控制结构、
数组
和
指针
、其他数据类型等。
学生成绩管理系统课程设计
摘 要 ……………………………………………………………………………Ⅰ Abstract………………...致
谢
............................………………….............................…………………32 参考文献...........
C语言程序设计-程序举例冒泡排序.pptx
使用
指针
指向
数组
元素,完成
数组
元素的输入,并实现冒泡排序。 示例代码 #include main() { int n,i,j,k,x,a[10]; int *p=a; for(i=0;i;i++) scanf("%d",p+i); for(k=1;k;k++) for(j=9,i=0;i;i++,j--) 5-2 程序举例...
C语言程序设计教程
【内容提要】 国家信息产业部电子人才交流中心参与规划高职高专规划教材:本书介绍了C语言的集成环境、数据类型、运算符及表达式、输入输出语句、选择结构和循环结构、函数、
数组
、
指针
、编译预处理、结构体与共用体...
C语言笔记-考研版(进阶)
注意:算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符)、While循环、字符
数组
、遇到一个问题,scanf通过%s读取字符串时,当遇到空格以后,就会匹配结束,这样没办法把一行带有空格...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章