结构体的定义与使用

community_1112 2021-10-29 18:41:54

定义一个学生结构体,并实例化一个学生对象,保存一个学生的基本信息,最后输出该学生信息。请选出错误答案。

返回练习题答题页面

...全文
2387 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
海中有鱼 2023-07-26
  • 打赏
  • 举报
回复 1

结构体声明时,{}后面要加分号。
在c语言中typedef struct定义结构名,在声明时可以省略struct关键字。

声明struct新对象时,必须带上struct,即:struct [结构名] [对象名]

struct A
{
    int x;
    int y;
}
struct A a;

而使用typedef之后可以直接写为:[结构名] [对象名]。

typedef struct B
{
    int x;
    int y;
}pB;
pB b;
CSDN-Ada助手 2023-07-26
  • 举报
回复
@海中有鱼 在C语言中,结构体的定义后不需要加分号,而是需要在每个结构体成员的末尾加上分号。关于typedef的使用,确实可以省略结构体关键字,在声明结构体对象时直接使用结构名加对象名即可。例如,typedef struct B { int x; int y; } pB; pB b; 定义了一个结构体类型pB,并声明了一个结构体对象b。
文else 2023-03-13
  • 打赏
  • 举报
回复
居然要钱了?
CSDN-Ada助手 2023-04-28
  • 举报
回复
@文else 对不起,我们不会向用户收取任何费用。请问您遇到了什么问题,我们可以为您提供帮助吗?
w20030308 2022-12-21
  • 打赏
  • 举报
回复

img


这里不用struct吗

槿伊藤 2023-01-08
  • 举报
回复
@w20030308 不用,有typedef定义新类型
CSDN-Ada助手 2023-04-28
  • 举报
回复
@w20030308 当然需要用struct来定义结构体,这是结构体的标准定义方式。可以参考我们提供的正确答案来定义学生结构体并实例化一个学生对象。
瑶池酒剑仙 2022-12-13
  • 打赏
  • 举报
回复 1

主页或者专栏有助于学习高效C语言 https://blog.csdn.net/gzplyx?type=blog

CSDN-Ada助手 2023-04-28
  • 举报
回复
@瑶池酒剑仙 感谢您分享这个学习C语言的资源!对于想要学习C语言的同学们来说,这个专栏一定非常有用。
众神的黄昏@@ 2022-10-11
  • 打赏
  • 举报
回复 2

会不会这个char*的话也是个问题来源。

Leslie246 2022-07-27
  • 打赏
  • 举报
回复

最后的分号不要忘了 有的编译器会自动加上,因此有的同学就会不注意。

南安啦 2022-07-21
  • 打赏
  • 举报
回复 1

问一下在结构体中char *name 和char name[]的区别是什么?

所想即所得 2022-08-14
  • 举报
回复 1
@南安啦 和常量字符串这个知识点有关,可以了解一下。
陌上烟雨864 2022-09-18
  • 举报
回复 2
@南安啦 char*name 是指针地址,char name[ ]是数组
milatahhh 2022-07-15
  • 打赏
  • 举报
回复 2

注意
结构体声明时,话花括号之后要接分号
结构体定义有三种方法
声明时定义,声明后定义,匿名结构体声明。

Cosmos-Cat911 2022-05-14
  • 打赏
  • 举报
回复 1

啥呀这是,用VS运行都是能输出答案的,/(ㄒoㄒ)/~~

weixin_49937292 2022-07-08
  • 举报
回复 1
@Cosmos-Cat911 A选项 结构体结束没有分号
Leslie246 2022-07-27
  • 举报
回复 1
@Cosmos-Cat911 最后的分号不要忘了 有的编译器会自动加上
木板ly 2022-04-21
  • 打赏
  • 举报
回复 2

#include <stdio.h>

struct Student
{
    char *name;
    int id;
    unsigned int age;
    char group;
    float score;
}

int main(int argc, char** argv)
{
    struct Student stu;
    stu.name = "张三";
    stu.id = 1001;
    stu.age = 16;
    stu.group = 'A';
    stu.score = 95.50;

    printf("========== 学生基本信息 ==========\n");
    printf("姓名:%s\n学号:%d\n年龄:%d\n所在小组:%c\n成绩:%.2f\n",
           stu.name, stu.id, stu.age, stu.group, stu.score);
    printf("==================================\n");

    return 0;
}
  • 举报
回复
@木板ly 感觉这个代码很简单通俗易懂,指针字符可以存储字符串?我既然才知道
「已注销」 2023-03-21
  • 举报
回复
@c_c+_python编程初学者 相当于字符串常量了
  • 打赏
  • 举报
回复 8

所以这题就考了个分号?

Time delay 2022-11-04
  • 举报
回复
@我要学c加加! 666
True_aFalse 2022-01-27
  • 打赏
  • 举报
回复 3

无语啊,这么细,一个分号

  • 打赏
  • 举报
回复 3
在下马农 2021-12-02
  • 打赏
  • 举报
回复 10

定义结构体要加分号;;;;;;;;;;;;;;;
这题出的,能考查对知识的掌握程度吗?

湖中倒影45 2022-01-09
  • 举报
回复 1
@在下马农 找了n遍都没找到,好吧,原来是这样,那我确实服气了😆
iRoseOVO 2022-07-29
  • 举报
回复 1
@在下马农 考察眼神

25

社区成员

发帖
与我相关
我的任务
社区管理员
  • community_1112
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧