c语言int是什么意思中int [m]* 与int *[m]的区别

c语言中的int *p[i]与int(*p)[i]语句有区别么???_百度知道C语言里a/m*m和m*a/m有什么区别#includevoid main(){\x05printf("请输入一个正整数");\x05int a,t,m=10,sum=0;\x05scanf("%d",&a);\x05do{\x05\x05t=a-a/m*m;\x05\x05sum=sum+t;\x05\x05m=10*m;\x05}while(t>0);\x05printf("%d",sum);}为什么这样程序运行异常而另一种表达式就可以
shavlwrexp
因为a 和 m 都是int 型 所以 a/m结果也为int型 当a
为您推荐:
其他类似问题
扫描下载二维码求解释(*p)[M]与*p[M]的区别,最好举例说下_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:464,620贴子:
求解释(*p)[M]与*p[M]的区别,最好举例说下收藏
一直搞不大清楚,尤其是加上小括号谁帮忙解释下
数组指针 。比如定义 int (*p)[n];p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n。、指针数组定义 int *p[n];[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。数组指针就是
指针 这个指针指向一个数组指针数组就是
由指针构成的数组
#define M 10;int (*p)[M];
// 定义一个指向包含M个元素的数组的指针int *p[M];
// 定义一个指针数组
pointer to arrayarray of pointers
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
家境小康, 积分 1137, 距离下一级还需 863 积分
论坛徽章:1
我的大学课本是1986年出版的
里面关于二维数组有个对比
#define M 250
#define N 520
int a[M][N]; 对比int a[M * N];
说前者占用空间是int [M * N] + int *[M]
后者占用空间是int [M * N]
假设0 & i & M, 0 & j & N
访问a(i,j)
前者用 a[i][j]
后者用 a[i * M + j]
前者速度占优
后者内存占优
学这个课本时候上机环境有两种,64位的cyber-910小型机,64位brough 6935小型机
老师讲这个课本是对的, 操作系统都是SYS V
当时写程序主要是PASCAL和FORTRAN77
从现在的眼光看, 内存上两者是一致的?访问速度也是一致的?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
腰缠万贯, 积分 9147, 距离下一级还需 853 积分
论坛徽章:14
想起了这个帖子:
小富即安, 积分 3639, 距离下一级还需 1361 积分
论坛徽章:0
safedead 发表于
int a[M][N]; 对比int a[M * N];
说前者占用空间是int [M * N] + int *[M]
后者占用空间是int [M * N]
这是真的假的
家境小康, 积分 1137, 距离下一级还需 863 积分
论坛徽章:1
hbmhalley 发表于
这是真的假的
当时确实是真的,现在应该不是
大富大贵, 积分 15632, 距离下一级还需 4368 积分
论坛徽章:0
对现在的体系结构,这些都是放屁。
当时可能是真。我没经历过那个时期。
论坛徽章:2
提示: 作者被禁止或删除 内容自动屏蔽
家境小康, 积分 1137, 距离下一级还需 863 积分
论坛徽章:1
本帖最后由 safedead 于
09:41 编辑
同济大学出版社
《C程序设计语言》
1986年出版的
这本书我现在还保留着
对于二维数组特别有说明,就是除了数组元素所占的空间外,还有一个1维的指针数组,以内存为代价提高访问速度
我大学上计算机课时候,F77和PASCAL是主流,C只有自付费选修课才有,FORTRAN和PASCAL是必修课
历史问题不必深究了
我当时上机
这个a可以直接当一个不超过int a[16];的数组用
现在谁敢这么用?
当时教书先生又教F77又教C,一说C就是C没有多维数组,计算速度比F77慢(到现在为止仍旧是FORTRAN在计算上相对C有优势)
哪能料到如今C比FORTRAN用得广
论坛徽章:2
同济中枪了么……& &不过这只是出版社而已,你得把作者名字揪出来……
看你在1楼提到的空间与速度方面的比较,就怀疑是有一个指针数组了,果然。
1. a[ i ][j] 不一定比 a[i * M + j] 快
前者(如果确实是指针数组)就有两次内存访问,后者只有一次。
并且i * M + j中的M(按C89来说)是常数,有机会优化为位移与加法。
(BTW: 为什么你在1楼将a[ i ][j]紧密写在一起没有被处理为斜体?)
2. 历史确实如此?
不是你记错了?或者书的作者搞错了?又或者书的作者用的那个编译器弄错了?
86年,K&R C是这样定义二维数组的?
PS:试试a[ i ][j]紧密写会发生什么……&&a[j]。
论坛徽章:2
[b]回复 [url=forum.php?mod=redirect&goto=findpost&pid=&ptid=#[/url] [color=Olive]safedead[/color] [/b]
看来你是禁用了某些编辑代码了。
试一试:a[i][j]。
巨富豪门, 积分 26739, 距离下一级还需 13261 积分
论坛徽章:1
最初的C语言也不是这样子的。

我要回帖

更多关于 c语言中int 的文章

 

随机推荐