我一直试图理解C语言中结构体的使用,以便对编程概念有一个更好的理解,结构体对我来说有些混乱; 它很容易学习语法,但很难确定为什么以及何时使用它们,我认为结构只是C编程语言中的另一个工具,因为看起来你可以完成你想要的任何东西,而不需要使用结构.同样,这是我到目前为止的想法,因为我不完全理解它们.
除了使用结构创建一个唯一的数据类型之外,结构和散列/字典之间的区别是什么?
选择结构的主要好处是什么?
将结构视为哈希或词典是否有意义?
再一次,我只是想更好地理解C中结构的概念.
谢谢
将结构视为哈希或词典是否有意义?
不,他们都不是.引入哈希/词典只会使水变得混乱; 实际上,C和C++都不提供散列/字典(尽管C++标准库提供了一些使用散列的容器,而映射可以称为"字典").
在C++中,结构是类,所以你应该问的问题是"类的好处是什么?"
这个问题的答案可以很容易地在互联网和你的C++书中找到(我建议你现在阅读!)但是,简而言之,课程:
将数据分组到一个对象中
集团运作
允许封装以确保安全
在最简单的层面上,问问自己是否要将大约10个整数传递给大量函数,重复,或将它们分组到一个对象中并发送一个.
在C中,数据分组几乎就是从结构中获得的,但这仍然非常有用.