欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列博客。
1 问题描述在学习C语言的时候,我们都会频繁的接触到结构体,使用结构体定义新的数据类型,从而更加方便的存储数据。但是在使用结构体的时候,有些问题会经常会困扰我们,如下所示:
第一种结构体定义:
struct school{ char address[100]; char name[30]; };
第二种结构体定义:
struct school_other{ char *address; char *name; };
以上两种结构体的定义有什么区别?我们在使用的时候需要注意什么?
本文将和大家一起来深入的探讨这个问题。
2 分析问题很多时候对于大家来说,最重要的不是得到问题的答案,而是学会别人是如何分析问题的,这种解决问题的思路对于大家来说才是最重要的,也是最精彩的地方。
C语言中定义的任何一个变量,最终都会从你的内存条上拿走相应的内存空间,如定义了一个int a;那么四个字节的空间就给a这个变量了。既然如此,我们很好奇,上述两种类