鱼C论坛

 找回密码
 立即注册
查看: 4181|回复: 12

C语言中结构成员初始化赋值问题~~

[复制链接]
发表于 2013-8-2 16:12:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ymgsk123 于 2013-8-2 16:27 编辑
  1. #include "stdafx.h"
  2. #include "string.h"

  3. typedef struct shangpin {
  4.         char mingzi[20];
  5.         double  jiage;
  6.         int  kucun;
  7. }shangpin;
  8. int main()
  9. {
  10. shangpin shouji={mingzi:"iphone", jiage:5000, kucun:30 };  //编译过不去!!
复制代码
       shangpin shouji={
                                        .mingzi ="iphone";
                                        .jiage = 5000;
                                        .kucun = 30;   
        };                                            //用点运算符也过不去编译。。。

        return 0;
}

这个是后面的代码。。。显示不出来。。~~
这二种方法都是错误。。。编译过不去。。。。

  怎么可以打乱顺序  来给结构成员 进行初始化和赋值呢???
难道是编译器的问题??
我用的是vc2008专业版的。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-2 16:14:27 | 显示全部楼层
大哥,你这是问题求助啊,还是卖东西啊!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 16:16:33 | 显示全部楼层
哥们儿你弄反了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-2 16:18:30 | 显示全部楼层
二种方法  都不能实现对成员进行赋值   问题出在哪呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-2 16:21:58 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 17:18:39 | 显示全部楼层
这个必须吐槽啊,很经典的赋值方法,本人是第一次见
正确的是
shangpin shouji={ "iphone", 5000,30};
我这个是为了看的清楚点,要把符号改成半角的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-2 17:19:52 | 显示全部楼层
小名明SIU 发表于 2013-8-2 17:18
这个必须吐槽啊,很经典的赋值方法,本人是第一次见
正确的是
shangpin shouji={ "iphone", 5000,30}; ...

我就是不想按结构成员的顺序进行赋值。。。。假如说 有十个结构成员    怎么办?  要是记不住还要往上看代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 17:22:48 | 显示全部楼层
那就一个一个赋值,对象.成员  = 值         这样就可以了,不用担心记不住了。要是结构体数组就用一个循环(这个你应该知道的)。你是新手吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-2 17:24:39 | 显示全部楼层
小名明SIU 发表于 2013-8-2 17:22
那就一个一个赋值,对象.成员  = 值         这样就可以了,不用担心记不住了。要是结构体数组就用一个循环 ...

额。。我就是这样赋值的。。。感觉太麻烦了。。。。才想了想有什么容易的方法没有。。减少工作量啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 17:29:23 | 显示全部楼层
那就文件操作吧,把数据事先保存在文件里,然后进行读写文件,不管怎么样,数据总是要输入的吧,有意义的数据不会凭空产生的,就像学生的成绩一样,你不输入,它难道自己跑进程序里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 17:30:22 | 显示全部楼层
直接赋值法6楼说过了,另外一种:
shangpin shouji={
                                        .mingzi ="iphone",
                                        .jiage = 5000,
                                        .kucun = 30  
        };     
//点运算符赋值是C99新加特性
//注意赋值语句后标点:‘,‘,最后一个成员赋值后不用加。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-2 17:30:42 | 显示全部楼层
还有一件事,觉得好采纳一下啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-2 17:31:02 | 显示全部楼层
小名明SIU 发表于 2013-8-2 17:29
那就文件操作吧,把数据事先保存在文件里,然后进行读写文件,不管怎么样,数据总是要输入的吧,有意义的数 ...

嗯。。我就是纠结于   想多找几种结构成员的   赋值方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-16 10:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表