免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: pmerofc
打印 上一主题 下一主题

[C] 有多少C程序员认为这是错误的写法 [复制链接]

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
311 [报告]
发表于 2012-05-20 22:42 |只看该作者
回复 286# pmerofc


    那我想知道如果数组和指针不连在一起有没有意义?帮我考据一下如果一个char*指针指在数组中间是不是有意义的?

我认为是这样的:

float a[4][5], *p, *q;

p = (float*)&a; // 可以吧?
// 这时 p 就是一个指向一维数组的指针了对不对?
q = p; // 现在q指向一维数组了吧?
q[i*5 + j]; // 这回不是UB了吧?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
312 [报告]
发表于 2012-05-21 17:02 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
313 [报告]
发表于 2012-05-21 19:16 |只看该作者
回复 312# pmerofc


    注意,p的值是&a,不是a,意味着p指向的是个float[4][5]哦~

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
314 [报告]
发表于 2012-05-21 19:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
315 [报告]
发表于 2012-05-21 22:15 |只看该作者
回复 314# pmerofc


     我难道不能把一个float[4][5]转换成一个float[?]么?既然*(int*)&a_float_value是允许的话。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
316 [报告]
发表于 2012-05-21 22:23 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
317 [报告]
发表于 2012-05-21 22:44 |只看该作者
关键是考:
float score[4][5]的地址对应的类型,是float*还是float**
而既然是float *pscore了,显然是float*了

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
318 [报告]
发表于 2012-05-21 23:56 |只看该作者
回复 316# pmerofc


    我想问你,为什么指针就可以指向一维数组,却不能指向二维数组?貌似附录J没提到指针吧?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
319 [报告]
发表于 2012-05-22 20:06 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
320 [报告]
发表于 2012-05-22 21:07 |只看该作者
本帖最后由 向梦想出发 于 2012-05-22 21:29 编辑

:wink:                             
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP