| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> C语言复习:(七)结构体规则 -> 正文阅读 |
|
[数据结构与算法]C语言复习:(七)结构体规则 |
问题:1.typedef的意义?struct后紧跟着的名称的意义?struct括号末尾后名称的意义? 2.如何在结构体内调用自己? 3.如何在别的结构体中调用已经定义了的结构体?在结构体中定义结构体数组,申请内存应当如何申请内存? 4.在别的文件中定义的结构体是否能被另外文件中的结构体调用? 问题解决:1.typedef的调用方式为:
Name1 与 Name2 具有相同的意义;
上述两者意义相同; 所以:
?上述是将struct Name1 替换为了Name2; 所以下面赋值依然合法; 所以:struct后紧跟着的名称的意义与struct括号末尾后名称的意义相同。 2.malloc函数是返回(void*)类型的内存给指针。只能分配内存给指针而不能给常量。 所以如果想要自己调用自己,就只能定义自己的指针。(比如链表)
?3.malloc只能分配内存给隶属于此结构体的结构。
上述的结构体的结构全是隶属于此结构体结构,malloc能直接分配内存给对象。
?上述中,在另一个类中出现另一个结构体变量,另一个结构体变量不属于此结构体,malloc函数无法为其对象分配内存,需要单独进行分配。
?应该采用上述操作进行内存分配。 4.在别的文件中定义的结构体只能被另外的.cpp文件中的结构体调用,而不能被其他的.h文件调用。
上述写法为错误写法: 原因:编译器总是先编译.h文件再去编译.cpp文件。 在一起编译.h文件的时候Exp2.h中会发生Exp_Struct未定义的情况。
上述写法正确: 因为.h文件全部编译完成之后,再去编译.cpp文件就不会出错。 综上:结构体能跨文件在别的.cpp中定义调用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:21:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |