C(Ⅱ)结构

  • 时间:
  • 浏览:65
  • 来源:it300
在C中,结构是值类型数据类型。它帮助您使单个变量保存各种数据类型的相关数据。struct关键字用于创建结构。structures用于表示记录。假设你想在图书馆里跟踪你的书。您可能希望跟踪有关每本书的以下属性−TITLeauthorsSubjectBook ID定义结构要定义结构,必须使用结构语句。struct语句定义了一个新的数据类型,其中有多个程序成员。例如,您可以通过以下方法声明书籍结构−结构书籍公共字符串标题;公共字符串作者;公共字符串主题;公共int book;以下程序显示了结构的使用−实时演示系统;结构书籍公共字符串标题;公共字符串作者;公共字符串主题;public int book_id;public class teststructure public static void main(string[]args)book1;/*declare book1 of type book*/books book2;/*declare book2 of type book*/*book 1 specification*/book1.title=“c programming”;book1.author=“nuha ali”;book1.subject=“c programming tutorial”;book1.book_id=6495407;/*第2册规范*/book2.title=“电信计费”;book2.author=“zara ali”;book2.subject=“电信计费教程”;book2.book_id=6495700;/*打印book1信息*/console.writeline(“book 1 title:0”,book1.title);console.writeline(“book 1 author:0”,book1.author);console.writeline(“book 1 subject:0”,book1.subject);console.writeline(“book 1 book_id:0”,book1.book_id);/*打印book2信息*/console.writeline(“book 2 title:0”,book2.title);console.writeline(“book 2 author:0”,book2.author);console.writeline(“book 2 subject:0”,book2.subject);console.writeline(“book 2 book_id:0”,book2.book_id);console.readkey();在编译和执行上述代码时,会生成以下结果−book 1 title:C ProgrammingBook 1 author:Nuha Alibook 1 subject:C Programming TutorialBook 1 book_id:6495407book 2 title:Telecom BillingBook 2 author:Zara AlibooK 2主题:电信计费辅导书2书籍ID:6495700 C结构的功能您已经使用了名为书籍的简单结构。C语言中的结构与传统的C语言或C 语言有很大的不同。C结构具有以下特性-结构可以具有方法、字段、索引器、属性、运算符方法和事件。结构可以定义构造函数,但不能定义析构函数。但是,不能为结构定义默认构造函数。默认构造函数是自动定义的,不能更改。与类不同,结构不能继承其他结构或类。结构不能用作其他结构或类的基。结构可以实现一个或多个接口。结构成员不能指定为抽象、虚拟或受保护。当创建结构对象使用新的运算符,它将被创建并调用适当的构造函数。与类不同,结构可以在不使用new运算符的情况下进行实例化。如果不使用new运算符,则字段将保持未分配状态,并且在初始化所有字段之前不能使用对象。类与结构类和结构具有以下基本区别-类是引用类型,结构是值类型struct结构不支持继承。根据以上讨论,结构不能有默认的构造函数,让我们重写前面的示例–“实况演示系统”;“结构书”“私有字符串标题”;“私有字符串作者”;“私有字符串主题”;“私有int书”id;公共void getvalues(string t,string a,string s,intid)title=t;author=a;subject=s;book_id=id;public void display()console.writeline(“title:0”,title);console.writeline(“author:0”,author);console.writeline(“subject:0”,subject);console.writeline(“book_id:0”,book_id);public class teststructure public s tatic void main(string[]args)books book1=new books();/*declare book1 of type book*/books book2=new books();/*declare book2 of type book*/*book 1 specification*/book1.getvalues(“c programming”,“nuha ali”,“c programming tutorial”,6495407);/*book 2 specification*/book2.getvalues(“telecombilling“,”zara ali“,”telecom billing tutorial“,6495700);/*print book1 info*/book1.display();/*print book2 info*/book2.display();console.readkey();在编译和执行上述代码时,会生成以下结果−title:C ProgrammingAuthor:Nuha Alisubject:C Programming TutorialBo好吧,ID:6495407标题:电信计费作者:Zara Alisubject:电信计费辅导书,ID:6495700

猜你喜欢

希腊最高法院批准俄罗斯对比特币嫌疑人的请求

希腊最高法院批准俄罗斯对比特币嫌疑人的请求希腊最高法院上周五表示,一名据称使用比特币数字货币洗钱40亿美元的俄罗斯人应该被引渡到俄罗斯,一位法院消息人士说。AlexanderV

2019-02-01

塑造美国网络防御的创造性破坏和自满情绪

塑造美国网络防御的创造性破坏和自满情绪创造性的破坏,思维的范式转换取代现有的秩序,可能是一个难以捉摸的概念,但它作为人类行为驱动力的力量是不可否认的。在硅谷和其他美国的高层科技

2019-02-01

为什么我(非常)担心PRISM

为什么我(非常)担心PRISM美国国家安全局正在利用我们的数字生活,监控语音电话,电子邮件,社交媒体以及谁知道什么。美国国家安全局方面的人说,这是为了国家安全;它已经停止了恐怖

2019-02-01

先发优势:为什么新的恶意软件最初会打败反恐

先发优势:为什么新的恶意软件最初会打败反恐虽然反病毒解决方案可以有效对抗广泛使用的恶意软件,但是有一个很好的机会,新的恶意软件会躲过那些解决方案。最近有重大安全事件的报告激增,

2019-02-01

台湾银行抢劫与朝鲜黑客有关

台湾银行抢劫与朝鲜黑客有关最近针对台湾一家银行的网络抢劫事件已被安全研究人员联系到一个据信在朝鲜境外活动的臭名昭着的威胁组织。黑客利用SWIFT全球金融网络大致窃取来自台湾远东

2019-02-01