| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:为什么结构体不能用这中写法
只看楼主 加入收藏
guosheng1987
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-4-16
收藏
 问题点数:0 回复次数:4 
为什么结构体不能用这中写法
#include "stdlib.h"
#include "stdio.h"
struct student
{
int number;
double score;
char name[20];
struct student *next;
};
int main()
{
typedef struct student NODE;
/* NODE a;a = {1001,80,"guosheng"}; */ NODE b,c;
NODE *head,*p;
NODE a;
/*a.number[20] = {guosheng1987};*/



}
这两处加注释的都不可以为什么
搜索更多相关主题的帖子: 结构体 include name score student 
2007-04-16 10:37
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 

語法問題。。沒有為什麼


这个社会太复杂。。。
2007-04-16 10:46
guosheng1987
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-4-16
收藏
得分:0 

/*a.number[20] = {"guosheng1987"};*/
是这个写错了,也不能这么写

2007-04-16 10:47
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
以下是引用guosheng1987在2007-4-16 10:47:55的发言:

/*a.number[20] = {"guosheng1987"};*/
是这个写错了,也不能这么写


有幾個錯誤

首先,C語言裡面字符串是用字符數組來存儲表示的。。只有在賦初值定義的時候才可以一起賦值,如char a[10]="sadfsa"; 後面 是不可以這樣賦值的

其次,你寫的這個a.number[20]已經是具體數組中的一個成員了,不是整個數組。。。就是第21個元素,C裡面沒有字符串變量,所以這一個變量只能存儲一個字符

如果你想在程序中對一個字符數組一起賦值,可以用strcpy函數

如strcpy(str,"sadfsdaf"); //str是要賦值的數組名(首地址)


这个社会太复杂。。。
2007-04-16 11:02
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
還有那個引號不是中方狀態下的引號

“” 和 ""是有區別的

这个社会太复杂。。。
2007-04-16 11:03
快速回复:为什么结构体不能用这中写法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.142496 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved