免费注册 查看新帖 |

Chinaunix

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

结构成员指针 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-03-22 12:03 |只看该作者

结构成员指针

printf("username = %s\n",user1.name); //1
printf("username = %s\n",&user1.name); //2
printf("username = %s\n",puser1->;name); //3
printf("username = %s\n",&puser1->;name); //4

正确的说法应该是 1 和 3、2 和 4 是一样的,其区别仅仅在于表现形式不同。至于 2 和 4 也能得到相同的结果,那是因为数组名的值和对数组名取址的值是相同的(也仅仅是数值上的相同,类型并不一致)。可考查下面的程序或许就不难理解了(三个 printf 输出相同的结果)。

  1. char str1[30];
  2. int a = (int)str1;
  3. strcpy(str1,"str1value");
  4. printf("str1 = %s\n",a);
  5. printf("str1 = %s\n",str1);
  6. printf("str1 = %s\n",&str1);
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP