c语言给结构体赋初值,C语言赋初值

本文目录一览:

求助一个C语言结构体数组赋初值的问题

typedef struct _test {

    int id;

    char name[20];

    int level;

    int stock;

    double price;

    int d;

} Test;

对结构体赋值,一般是顺序赋值,或者指定赋值

比如

Test test[] = {

    {1, “abc”, 1, 2, 1.2, 3},//对应id, name, level, stock, price, d

    {.id = 2, .level=3, price=4.2, .stock=2},//这个就是指定赋值,点后面接的是结构体成员名

};

C语言结构体怎么赋值?怎么初始化?给个最简单的例子~

strcut a

{

int m;

int n;

}

strcut a   b,c;

直接赋值 b=c;

通过  .  赋值  b.m=1 ; b.n=2;

声明时赋值 strcut a  b={1,2};

c语言结构体初始化赋值

初始化的时候stu1前面少了struct student(表示结构体类型),加上之后这样初始化就行了。

就相对整型初始化时,必须int x=。。。。,不能直接x=。。。。,事实上就是语法上的一个小细节错误。

C语言结构体赋值

首先这样编译会出错。

struct

{

char ch;

int pri;

}

定义结构体类型,后面没有跟分号,说明后面是该类型的变量列表,之后遇到Pri接下来的空格后面跟的lpri编译器就不知道要干什么了。

如果用struct

{

char ch;

int pri;

};,还是出错,因为之后的Pri没有声明或定义。

如果用struct Pri

{

char ch;

int pri;

};,纯C的话不行,Pri是结构体名而不是类型名,会编译出错。C++下会把Pri当作struct Pri,不会出错。

可以这么写:

typedef struct

{

char ch;

int pri;

}Pri;

Pri lpri[]={{‘=’,0},{‘(‘,1},{‘*’,5},{‘/’,5},{‘+’,3},{‘-‘,3},{‘)’,6}};

Pri rpri[]={{‘=’,0},{‘(‘,6},{‘*’,4},{‘/’,4},{‘+’,2},{‘-‘,2},{‘)’,1}};

最后两行也可以这样写:

Pri lpri[]={{‘=’,0},{‘(‘,1},{‘*’,5},{‘/’,5},{‘+’,3},{‘-‘,3},{‘)’,6}},

rpri[]={{‘=’,0},{‘(‘,6},{‘*’,4},{‘/’,4},{‘+’,2},{‘-‘,2},{‘)’,1}};

注意倒数第二行是分号还是逗号会影响初始化列表的语义。

(顺便,这个不是赋值。)

话说回来,一开始的写法去掉Pri是正确的(只是定义之后无法访问该类型,一般不推荐):

struct

{

char ch;

int pri;

}

lpri[]={{‘=’,0},{‘(‘,1},{‘*’,5},{‘/’,5},{‘+’,3},{‘-‘,3},{‘)’,6}},

rpri[]={{‘=’,0},{‘(‘,6},{‘*’,4},{‘/’,4},{‘+’,2},{‘-‘,2},{‘)’,1}};

====

[原创回答团]

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/159083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-19 18:57
下一篇 2024-11-19 18:57

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Vue TS工程结构用法介绍

    在本篇文章中,我们将从多个方面对Vue TS工程结构进行详细的阐述,涵盖文件结构、路由配置、组件间通讯、状态管理等内容,并给出对应的代码示例。 一、文件结构 一个好的文件结构可以极…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python程序的三种基本控制结构

    控制结构是编程语言中非常重要的一部分,它们指导着程序如何在不同的情况下执行相应的指令。Python作为一种高级编程语言,也拥有三种基本的控制结构:顺序结构、选择结构和循环结构。 一…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28

发表回复

登录后才能评论