免费注册 查看新帖 |

Chinaunix

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

[C] 对指针的一个疑问? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2011-01-04 12:38 |只看该作者
谢谢!
    本质上还是有类型
    能给分析一下各自的利弊吗
KBTiller 发表于 2011-01-04 12:00




利弊主要在于强类型和弱类型和差别
开发的高效,还是运行的高效,以及键壮性的要求

论坛徽章:
0
22 [报告]
发表于 2011-01-04 13:06 |只看该作者
利弊主要在于强类型和弱类型和差别
开发的高效,还是运行的高效,以及键壮性的要求
bs 发表于 2011-01-04 12:38



    受教!谢谢

论坛徽章:
0
23 [报告]
发表于 2011-01-04 13:20 |只看该作者
受教!谢谢
KBTiller 发表于 2011-01-04 13:06


   
不敢当,持续关注你的图书,同样受教

论坛徽章:
0
24 [报告]
发表于 2011-01-04 15:08 |只看该作者
(void *)0; -----------------> 没意义,也不应该写出这样的代码
(int *)0;   ------------------> 把数值0强制转化为指向整数类型的指针,就是说从地址0开始4个字节存放一个整数,这种做法的最大应用就是求结构体中元素的偏移量;

(char *)0;---------------->把数值0强制转化为指向字符型类型的指针,就是说从地址0开始1个字节存放一个字符
(double *)0;--------------->同上可得。

论坛徽章:
0
25 [报告]
发表于 2011-01-04 16:19 |只看该作者
回复 12# DNFCF


    void *这个是为了给通式用的,而指定类型是因为访问时和做加减操作时要用,这样才能知道每次取值是要取多少字节以及每次加减操作时要怎么加地址,而不是简单的将地址安INT类型相加减

论坛徽章:
0
26 [报告]
发表于 2011-01-05 09:24 |只看该作者
回复 25# tanbaolin1218


    能帮我解释下这句吗?
   char *p="this is example!\n";
    这句语句到底做了哪些?

论坛徽章:
0
27 [报告]
发表于 2011-01-05 10:47 |只看该作者
回复  tanbaolin1218


    能帮我解释下这句吗?
   char *p="this is example!\n";
    这句语句到 ...
DNFCF 发表于 2011-01-05 09:24



    1.定义了一个char型的指针P;
    2.定义了一个常量字符串,并为其分配了空间。
    3.将指针指向该空间的首地址。


不知道还漏下了什么没有。

论坛徽章:
0
28 [报告]
发表于 2011-01-05 10:52 |只看该作者
指针标明类型是为了向cpu解释,是指针指向的那块内存,及其后面的二进制含义,指针只是指向一个字节的地址,对于不同的类型,其长度是不一样的。也就是说指针指向第一个字节后面是否属于当前指针指向的数据,取决与指针类型。

论坛徽章:
0
29 [报告]
发表于 2011-01-05 10:54 |只看该作者
回复 27# bladmin


    如char *p="XXXXXXXXX"中,字符串常量放在哪里,存放空间怎么来的,是通过malloc还是其他。
  如果是malloc的,它怎么释放空间。
  当字符串常量改变时,如*p="YYYYYYYYYY"了,是会覆盖原来的吗,还是另外开辟空间?那这样是不是动态的改变该内存空间的大小?怎么实现的呢?
  定义char *p=(这里应该是地址,如&i),为何这里直接就可以用字符串常量("xXXXXXXXX")呢?
  您能帮我解释解释吗?

论坛徽章:
0
30 [报告]
发表于 2011-01-05 10:55 |只看该作者
回复 28# lly2086


    如char *p="XXXXXXXXX"中,字符串常量放在哪里,存放空间怎么来的,是通过malloc还是其他。
  如果是malloc的,它怎么释放空间。
  当字符串常量改变时,如*p="YYYYYYYYYY"了,是会覆盖原来的吗,还是另外开辟空间?那这样是不是动态的改变该内存空间的大小?怎么实现的呢?
  定义char *p=(这里应该是地址,如&i),为何这里直接就可以用字符串常量("xXXXXXXXX")呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP