数据结构基础知识备忘录

备忘录

学python学了一年,回来重写c语言代码,发现好多基础知识忘记了,因此记录下方便自己日后看

1,C语言中 单引号’ ’ 与 双引号" "区别

python中双引号单引号没区别,怎么用都行。
但是C语言中 字符用单引号,字符串用双引号。
举例: 
‘a’ 表示 字符常量  
”a“表示字符串 字符串中除了含有字符 ‘a’ 之外,还含有末尾结束符‘\0’ 字符串是用数组表示的

2,结构体 struct

解释:
结构体是一种数据类型,与int,char等数据类型是一个意思。
区别在于 int, char 属于C语言自带的基本数据类型,拿来就可以直接用,并且不可拆分。
而结构体属于复杂数据类型,需要我们根据具体需求进行自定义。一般来说,结构体其中包含多个变量。

举例:

    struct stu{
        char name[10];  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在学习小组
        float score;  //成绩
    };

那么,已知结构体是一种数据类型,类似与int,char。自然就想到其可以自定义变量:结构体变量
举例:

struct stu stu1, stu2;

结构体成员的赋值是通过 [ . ] 来进行赋值

stu1.age = 12;

也可以整体赋值

stu2 = { "Tom", 12, 18, 'A', 136.5 };

但是我查结构体讲解时,看到别人资料说 ”不过整体赋值仅限于定义结构体变量的时候,在使用过程中只能对成员逐一赋值,这和数组的赋值非常类似。“
但是我自己进行尝试的时候,发现非定义结构体变量的时候 同样可以整体赋值 ,因此这里还有点疑问。

最后要注意的一点:结构体是一种自定义的数据类型,不占内存空间;结构体变量才包含了实实在在的数据,需要内存空间来存储。

3,typedef的用法

typedef 用于给数据类型起一个别名,用的比较多的是结构体,可以少写一些东西。
举例:

typedef  oldName  newName;

给数据类型 int 起别名

typedef int INTEGER;
INTEGER a, b;

给数据类型 struct 起别名

typedef struct stu{
    char name[20];
    int age;
    char sex;
} STU;

定义结构体变量的时候就可以简化了

原来:struct stu stu1,stu2;
重命名后: STU stu1,stu2;

需要注意的是,如果看一些数据结构的教材什么,会发现很多代码开始都是这样写的:
数据结构教材示例
这里的Status 以及 OK 实际上已经是宏定义过了的
在这里插入图片描述

4,char *name 与char name [10]

编程中我们经常会遇到向程序输入一个字符串的情况。
此时,我们会有两种选择:
一是定义一个字符指针,并把该字符串首字符的地址传给他;
二是定义一个字符数组,并把字符串存入该字符数组中。
两种方式都行,但是第一种 name 是指针,代表一个地址,是不能改的
第二种是字符数组, name是可以改的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值