免费注册 查看新帖 |

Chinaunix

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

不知道大家看了这个是什么心里滋味 [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
211 [报告]
发表于 2012-04-28 05:48 |只看该作者
walleeee 发表于 2012-04-28 03:19
回复 149# OwnWaterloo

我艹。老子那句说了C没有指针类型(算了,为了便于你看得懂,我不用反问句了,这句是“指针有类型”的意思,这回能看懂么?)?你扯这么多就为这个?

你真是阅读障碍,自己回头翻帖子。你可能是看到这句:
我之前在那个代码风格帖子里面说了,指针算类型。

然后是
但是并非这种概念就是绝对的,c尽管有这些规定。指针数据有个特殊性,其大小一般都是常量,指针和整数之间的转换也体现了这个深层次意义。

指针尽管有各种各样的类型,但是指针只是一个概念——地址。所以,我说了:
但是并非这种概念就是绝对的,c尽管有这些规定。指针数据有个特殊性,其大小一般都是常量,指针和整数之间的转换也体现了这个深层次意义。

懂什么叫绝对么?你还看不懂我也没法,你这个二货,阅读障碍。


通篇都是你自己在意淫,却怪他人有阅读障碍不理解自己。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
212 [报告]
发表于 2012-04-28 05:56 |只看该作者
walleeee 发表于 2012-04-28 03:31
回复 155# OwnWaterloo

什么叫
ow: 扯了一通道德经后又死活不给具体条款

你不要误导观众。我拿出道德经是举个例子,作为反驳。你居然就把这个当作我在扯。我是不是连反驳都不该了?
反驳在你看来也是扯,那我真是必败无意了,怪不得别人叫你滑铁卢,唉。
名字就是失败,我还说什么好?

死活不给具体条款我说的很明白,我不是和你一样的考据癖和标准狂,那是你做的事情,还不懂么?
要我说多少次你才不阅读障碍?


说你扯是因为你用道德经又将话题重心转移,而就是死活不给出说话的依据

既然以标准(或者其他资料)作为论据,提到说"标准有描述怎么怎么",当他人问及自然应该给出相应的引用。
原来这在你看来不是常识。只要自己意淫,认为自己看过,自己认为是那样的就可以了。
果然野路子无误。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
213 [报告]
发表于 2012-04-28 06:40 |只看该作者
walleeee 发表于 2012-04-28 04:24
回复 184# OwnWaterloo

不是我承认,而是问题本该如此。
算了,为了避免问题对你而言复杂化,懒得跟你扯,你理解成承认也算你对了。

同样为了便于你理解,你这种阅读障碍,我不想在继续打字,索性给你3个直白的答案:
0) char+char问题         对,这个是我中了你激怒敌人的狗计
1) C是否有类型             有
2) C是否有指针类型       有,但是要理解指针,理不理解指针,直接影响对此问题的判断理解和判断和认识

明白了吧?不明白自己面壁去。



那你一开始扯什么蛋?
walleeee 发表于 2012-04-26 01:32
回复 26# OwnWaterloo

有没有,是相对而言。我说了,指针尽管标准或者其他什么描述给了类型,但是我个人理解下来,指针可以说有类型,也可以说没有类型,比如char *p和char* p这两种写法就是一个例子,怎么理解?指针算类型还是不算类型?我之前在那个代码风格帖子里面说了,指针算类型。但是并非这种概念就是绝对的,c尽管有这些规定。指针数据有个特殊性,其大小一般都是常量,指针和整数之间的转换也体现了这个深层次意义。

C有类型,但是也没有严格类型,就像太极,你有我,我有你。


你还真当自己是在哲学的高度看待这个问题?你还在认为自己才理解了C的指针?自己的理解方式才能对此问题有深刻认识?
no,通篇都是你自己的意淫

本来引用了前面许多自己的发言。但又想到既然以前反复说都没用,这次引用了也应该没有效果。只要你继续站在哲学的高度上就可以了。
想找点新东西吧,比如alignment。不过既然你可以无视通过指针获取值, 只将指针看作地址; 那自然也可以无视alignment。
还是只得把ISO C翻出来,说服不了你这种野路子,至少也可以避免围观群众被你误导。

C11 6.2.5 Types 27
C99 6.2.5 Types 26
A pointer to void shall have the same representation and alignment requirements as a pointer to a character type.39)
Similarly, pointers to qualified or unqualified versions of compatible types shall have the same representation and alignment requirements.
All pointers to structure types shall have the same representation and alignment requirements as each other.
All pointers to union types shall have the same representation and alignment requirements as each other.
Pointers to other types need not have the same representation or alignment requirements.

C89 6.1.2.5 Types
A pointer to void shall have the same representation and alignment requirements as a pointer to a character type.
Other pointer types need not have the same representation or alignment requirements.





------ 找到的以前的发言,既然找了就顺带贴后面了 ------

关于type与pointer to type:
OwnWaterloo 发表于 2012-04-26 13:24
回复 32# walleeee

对C有个人理解也不算什么大不了的事。
但既然要相互交流,要严肃讨论;
但既然标准花了整整一个章节说type。里面不乏有指针与整数之间的转换关系。整个标准中也不少出现has type"pointer to type"……
还有什么好死撑的?



再次关于pointer to type:
OwnWaterloo 发表于 2012-04-28 00:12
另:因为char* p, char *p就认为"指针的类型可以说有,可以说没有"?标准我也不给你找了, sizeof(type)你总知道吧? sizeof(char*)怎么解释。



关于指针大小是否是常量:
OwnWaterloo 发表于 2012-04-25 20:12
回复 25# walleeee
而且C对指针的定义比你想象的要严: http://c-faq.com/null/machexamp.html

如果你用某几种汇编解释C,你得到的只是使用那几种汇编的平台上的C实现,而不是C语言本身。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
214 [报告]
发表于 2012-04-28 07:33 |只看该作者

关于pointer与integer

野路子,关于标准什么的,你也不屑。哦,是不拘泥。所以我也懒得多提。
但在你发散你的思维前,在将问题提升到哲学高度前,能沉下心来先看看《K&R》或者《C A reference manual》这些书,而不是凭自己的经验与臆想吗?
你在china-pub上买了上万元的书就只是收藏用?


这些忠告,你又听得进去吗?
sacry 发表于 2012-04-28 00:52
同样学C,A往哲学上学,B往标准学,C往实际开发学,都没有问题,
但是让讨论一个具体问题的时候,别不把计算机科学当科学,事实就在那里,瞎扯有意义么....




1. c faq
http://c-faq.com/ptrs/int2ptr.html
Once upon a time, it was guaranteed that a pointer could be converted to an integer (though one never knew whether an int or a long might be required),
...
The ANSI/ISO C Standard, in order to ensure that C is widely implementable, has weakened those earlier guarantees.
Pointer-to-integer and integer-to-pointer conversions are implementation-defined (see question 11.33),
and there is no longer any guarantee that pointers can be converted to integers and back, without change.
...



2. Rationale
Rationale for  American National Standard for Information Systems - Programming Language - C
http://www.lysator.liu.se/c/rat/c3.html#3-3-4
Nothing portable can be said about casting integers to pointers, or vice versa, since the two are now incommensurate.



3. K&R
K&R A.6.6 Pointers and Integers
A pointer may be converted to an integral type large enough to hold it; the required size is implementation-dependent. The mapping function is also implementation-dependent.



4. C A reference manual
C A reference manual
6.2.3 conversions to integer type
...
C programmers used to assume that pointers could be converted to type long and back without loss of information.
Although this was almost always true, it is not required by the language definition.
In C99, the types intptr_t and uintptr_t, if defined in stdint.h, are signed and unsigned integer types capable of holding pointers.
The problem is that some computers may have pointer representation that are longer than the largest integer type.

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
215 [报告]
发表于 2012-04-28 07:47 |只看该作者
你那种"integer与pointer之间有紧密联系"的"哲学"思想,在我接触Windows,接触LPARAM这货时就有了。
在我从VC6转到VC8,收到/Wp64警告时就开始反思了。
这也许有点马后炮的意味,没法给你证明。

但可以给你证明的是,我在CU的早期帖子里,已经无数次强调过:对指针,其实语言并没有提供许多程序员所期待的理所当然的保证。
至少在这些帖子的时候,我就早越过了你那种野路子的层次。
所以我说你根本就不够资格在哲学上和我讨论这个问题。
我对你那种野路子的思维根本就不屑一顾:5-6年前我就丢弃这种想法了,用得着你来给我"提高"层次?

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
216 [报告]
发表于 2012-04-28 08:47 |只看该作者
OwnWaterloo和walleeee什么情况,半夜争论到现在,好多页都是你们俩的帖子

论坛徽章:
0
217 [报告]
发表于 2012-04-28 09:02 |只看该作者
看不懂,没人给解释解释吗?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
218 [报告]
发表于 2012-04-28 09:31 |只看该作者
LS、LSS两位……  哎……
瞎了你们的眼,让你们在这么没有营养的 —— 有一半左右是我的"功劳" —— 楼里浪费了时间……
我的错……

论坛徽章:
0
219 [报告]
发表于 2012-04-28 09:54 |只看该作者
OwnWaterloo 发表于 2012-04-28 04:01
我就是在和cjacker_cu扯C有类型。
结果你一参合就不得了了,一下子就提高到哲学的高度。


有必要说明一下了:
1,C有类型,这个不用争论,汇编我也不敢说没有类型。我觉得两位在这个观点上没有冲突,这个问题不用纠结。

ascii Text string
.asciz Null-terminated text string
.byte Byte value
.double Double-precision floating-point number
.float Single-precision floating-point number
.int 32-bit integer number
.long 32-bit integer number (same as .int)
.octa 16-byte integer number
.quad 8-byte integer number
.short 16-bit integer number
.single Single-precision floating-point number (same as .float)

movb/movl/movw/movs以及一堆float指令等等

这个相信大家不会否认吧?

2,为什么我认为C的类型概念模糊,是因为我倾向于类型应该在编译时、运行时得到尽可能完整保持和表达,而C不是这样。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
220 [报告]
发表于 2012-04-28 10:02 |只看该作者
回复 144# 幻の上帝

那请问数学上说类型是什么,域是什么?
讨论问题,总不能丢下一句就让人自己猜吧,呵呵
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP