搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教:二维数组地址输出编译器会自动除于变量长度么
标题:
请教:二维数组地址输出编译器会自动除于变量长度么
只看楼主
natto
等 级:
新手上路
帖 子:27
专家分:5
注 册:2016-4-10
结帖率:
70%
楼主
已结贴
√
问题点数:10 回复次数:2
请教:二维数组地址输出编译器会自动除于变量长度么
据谭教授所著书中,写出如下实验程序:
大家可以看到如下附件的图,怎么最后一个printf出来的是1呢,不是应该是4么,编译器会自动把地址除4?还是我哪里理解有误或是程序编写有误?
搜索更多相关主题的帖子:
编译器
程序编写
2016-04-26 21:25
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
2
楼
得分:5
p 是 int型指针,步长是sizeof(int)
p = &a[2]
q = &a[3]
q = p + 1
看看:
printf("%d\n", sizeof(int));
printf("%d\n", p);
printf("%d\n", q);
printf("%d\n", p+1);
[此贴子已经被作者于2016-4-26 21:44编辑过]
2016-04-26 21:42
alice_usnet
等 级:
贵宾
威 望:
18
帖 子:370
专家分:2020
注 册:2016-3-7
第
3
楼
得分:5
当两个指针指向同一个数组,指针相减编译器会自动进行步长计算,也就是实际得到的是间隔的元素个数而不是字节数。
未佩好剑,转身便已是江湖
2016-04-26 22:41
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-464156-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.084579 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved