免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4060 | 回复: 22
打印 上一主题 下一主题

问个菜题,纯C中,如何在定义结构体时 [复制链接]

论坛徽章:
12
辰龙
日期:2013-10-23 11:06:312015年迎新春徽章
日期:2015-03-04 09:50:28拜羊年徽章
日期:2015-03-03 16:15:43戌狗
日期:2014-12-22 14:49:17申猴
日期:2014-05-14 17:25:17狮子座
日期:2014-04-26 18:50:20双子座
日期:2014-04-04 12:32:31巨蟹座
日期:2014-03-13 00:04:36技术图书徽章
日期:2014-03-12 17:50:42白羊座
日期:2014-02-28 23:46:54丑牛
日期:2013-11-15 05:36:11CU十四周年纪念徽章
日期:2016-01-18 04:54:01
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-22 11:12 |只看该作者 |倒序浏览
给结构体的各个向量赋初值?

是C,不是C++

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

问个菜题,纯C中,如何在定义结构体时

这也叫菜问题呀俺只知道以前gcc扩展了一种方式,用:赋值;现在C99规定了另一种语法,gcc就不支持以前那种了。C99的好象是.赋值的。具体记不清楚

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

问个菜题,纯C中,如何在定义结构体时

试出来了第一种:
  1.       1 #include <stdio.h>;
  2.       2 #include <string.h>;
  3.       3 #include <stdlib.h>;
  4.       4
  5.       5 int main(int argc,char** argv)
  6.       6 {
  7.       7         struct student{
  8.       8                 int age;
  9.       9                 int score;
  10.      10         };
  11.      11
  12.      12         struct student s1 = {
  13.      13                 age : 5,
  14.      14             score : 10,
  15.      15         };
  16.      16
  17.      17       printf("s1.age is %d\n",s1.age);
  18.      18       printf("s1.score is %d\n",s1.score);
  19.      19
  20.      20       return 0;
  21.      21 }
复制代码

论坛徽章:
0
4 [报告]
发表于 2005-03-22 13:27 |只看该作者

问个菜题,纯C中,如何在定义结构体时

学习,受教!

论坛徽章:
0
5 [报告]
发表于 2005-03-22 13:37 |只看该作者

问个菜题,纯C中,如何在定义结构体时

原帖由 "albcamus"]
[code 发表:

#include <stdio.h>;
#include <string.h>;
#include <stdlib.h>;

int main&#40;int argc,char** argv&#41;
{
        struct student{
                int age;
                int score;
        };

        struct student s1 = {5,10};

      printf&#40;&quot;s1.age is %d\n&quot;,s1.age&#41;;
      printf&#40;&quot;s1.score is %d\n&quot;,s1.score&#41;;

      return 0;
}
[/code]
这样也行吧,好像不用写这么多,很麻烦的。嘿嘿

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2005-03-22 13:44 |只看该作者

问个菜题,纯C中,如何在定义结构体时

这样也可以,好像是C99的标准吧?

  1.       1 #include <stdio.h>;
  2.      2 #include <string.h>;
  3.      3 #include <stdlib.h>;
  4.      4
  5.      5 int main(int argc,char** argv)
  6.      6 {
  7.      7         struct student{
  8.      8                 int age;
  9.      9                 int score;
  10.     10         };
  11.     11
  12.     12         struct student s1 = {
  13.     13                 .age = 5,
  14.     14             .score = 10,
  15.     15         };
  16.     16
  17.     17       printf("s1.age is %d\n",s1.age);
  18.     18       printf("s1.score is %d\n",s1.score);
  19.     19
  20.     20       return 0;
  21.     21 }
复制代码
[/code]

论坛徽章:
0
7 [报告]
发表于 2005-03-22 13:51 |只看该作者

问个菜题,纯C中,如何在定义结构体时

to:aero兄
对,我就是在哪里看到的这个,结果想不起来了。呵呵。老来多健忘啊

论坛徽章:
12
辰龙
日期:2013-10-23 11:06:312015年迎新春徽章
日期:2015-03-04 09:50:28拜羊年徽章
日期:2015-03-03 16:15:43戌狗
日期:2014-12-22 14:49:17申猴
日期:2014-05-14 17:25:17狮子座
日期:2014-04-26 18:50:20双子座
日期:2014-04-04 12:32:31巨蟹座
日期:2014-03-13 00:04:36技术图书徽章
日期:2014-03-12 17:50:42白羊座
日期:2014-02-28 23:46:54丑牛
日期:2013-11-15 05:36:11CU十四周年纪念徽章
日期:2016-01-18 04:54:01
8 [报告]
发表于 2005-03-22 13:54 |只看该作者

问个菜题,纯C中,如何在定义结构体时

[quote]原帖由 "albcamus"][/quote 发表:


谢谢啊!

另外,如果对于字符型,字符串型的向量,怎么做涅?

论坛徽章:
0
9 [报告]
发表于 2005-03-22 13:56 |只看该作者

问个菜题,纯C中,如何在定义结构体时

>;>;这样也行吧,好像不用写这么多,很麻烦的。嘿嘿

试了一下,果然可以。不知道你我的写法是否在某些情况下有区别?我是看linux kernel的虚拟文件系统看到这种写法的,它还真的只用“:”的那种。不知道有没有什么原因。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2005-03-22 13:57 |只看该作者

问个菜题,纯C中,如何在定义结构体时

原帖由 "kunson" 发表:


谢谢啊!

另外,如果对于字符型,字符串型的向量,怎么做涅?


   字符型就直接赋值好了。“字符串”(C里尽量不要使用这个概念,字符数组是其本来面目)也可以在定义的时候初始化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP