免费注册 查看新帖 |

Chinaunix

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

对C语言指针的讨论:应当如何理解、使用指针?《狂人C:程序员入门必备》有奖试读 [复制链接]

论坛徽章:
0
201 [报告]
发表于 2010-12-29 19:14 |只看该作者
回复  KBTiller


    哈哈。一半原因。另一半就是其它语言太不爽了。还是看你的书。找新的C工作。MONE ...
renxiao2003 发表于 2010-12-29 10:38


    谢谢!您这么说让我感到非常荣幸
    不过我确实一直也有这样的感觉,一个人一旦学会了C语言,就必然会爱上C。

论坛徽章:
0
202 [报告]
发表于 2010-12-29 19:16 |只看该作者
刚刚读了一章,感觉不错,写的挺深入了。
laigq 发表于 2010-12-29 13:50


谢谢您的厚爱。如发现疏漏或错误,请一定要通知我

论坛徽章:
0
203 [报告]
发表于 2010-12-29 19:17 |只看该作者
提个很弱的建议:举例时所用的函数名或者变量名最好别用拼音了,简单的英文单词大家还是认识的。
nkujulei 发表于 2010-12-29 18:07



    谢谢您的建议。我一定认真考虑

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
204 [报告]
发表于 2010-12-29 20:49 |只看该作者
回复 201# KBTiller


    努力学习,“古人”说,万变不离C啊。

论坛徽章:
0
205 [报告]
发表于 2010-12-29 22:07 |只看该作者
若是先了解微机原理关于寻址的内容,学习C指针或许好点,我是这么来的,不喜勿喷。

论坛徽章:
0
206 [报告]
发表于 2010-12-30 12:02 |只看该作者
指针就是地址,K&R上也是这个意思。

论坛徽章:
0
207 [报告]
发表于 2010-12-30 12:14 |只看该作者
1.  一元&运算是否应该翻译成“求指针运算”而不是“求地址运算”
求指针运算符。。。K&R表示压力很大。

2.  数组名有两种类型吗?
一维和多维?

3.  “指针就是地址”的说法是否掩盖了指针的实质?
在不咬文嚼字的情况下,“指针就是地址”正说明了指针的本质。

4.   void *类型的指针究竟是可以指向任何对象还是不指向任何对象?
我觉得两种说法都不对。首先要理解什么是对象,对象可以理解为内存中的一个实体,比如变量或者函数。
如下的代码中,显然p指向了a,所以我们不能说void *类型的指针不指向任何对象,因为它确确实实指向a。
  1. int a;
  2. void *p = &a;
复制代码
而以下的代码中,显然int *的指针可以指向float型的变量,因此不仅仅只有void *指针,实际上任何指针都可以指向任何对象,而用void *指针指向任何对象,不过是一种编程的习惯做法(best practice)。
  1. double a;
  2. int *p = (int *)&a;
复制代码
那什么是void *指针,我认为void *指针和其他指针(例如int *)唯一的区别,只是编译器不知道内存中指针所指向地址上的对象的类型。

论坛徽章:
0
208 [报告]
发表于 2010-12-30 14:15 |只看该作者
指针就是地址,K&R上也是这个意思。
xiaonanln 发表于 2010-12-30 12:02


或许问题可以换个提法
address究竟是不是应该翻译成地址
K&R的本意是否就是指的“地址”


  1. int i , *p_i ;
  2. char *p_c ;
  3. p_i = & i ;
  4. p_c =(char *)p_i ;
复制代码

p_i 的值与p_c的值(地址)相等
他们一样吗?

论坛徽章:
0
209 [报告]
发表于 2010-12-30 14:16 |只看该作者
回复 207# xiaonanln

函数不是对象(Object)

论坛徽章:
0
210 [报告]
发表于 2010-12-30 18:51 |只看该作者
或许问题可以换个提法
address究竟是不是应该翻译成地址
K&R的本意是否就是指的“地址”



p_i  ...
KBTiller 发表于 2010-12-30 14:15



把指针理解为地址,不是生硬的认为指针就是地址。K&R说指针是包含地址的变量,或者按照你的说法,指针的值是地址,我觉得都是可以。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP