C语言学习笔记(四)

指针的补充内容:

    指针数组:

        元素为地址的数组

    数组指针:

        类型为指针的数组

    二维数组:

        又称集合的集合---集合中的每个元素均为一个集合--结合的嵌套

冒泡排序、const、typedef

(1)冒泡排序:

        简化原理:我们所需要排序的部分在逐渐缩短--已经排序过的部分不需要再次考虑

(2)const:

        使用const所修饰的变量不可再次修改---我们称为"不变量"--像是某些物体的固定属性,                可以考虑使用--但请注意const的位置--这关系到我们到底可以更改什么

        ps:我们建议在使用const时需要对其进行初始化

(3)typedef:

        简单理解--起别名--为了更方便的去记忆或调用数据

        使用方法:typedef+数据类型+别名

        例子如下:typedef long long ll--这里我们声明了一个ll,但是他与long long关键字有着相同的作用

拓展(或者称为组合):

<1>指针:

        只不过多了一些内容--需要定义指针的类型

                typedef int* AA--此时AA表示int类型的指针的关键字

<2>长度为x的数组:

        typedef int  arr[5]

                此时arr称为长度为5的数组的关键字

define(宏定义)、位运算

程序执行四个时期:

    预处理:

    编译:检查程序是否有错误、

    汇编:将高级语言转换成汇编语言、

    链接:将汇编语言转换成机械语言

    在计算机组成原理中涉及相关知识,关于这部分的知识,我会在计算机组成原理的笔记当中补充

宏的作用:

        单纯的替换--比如将Π(圆周率)换成3.14

语法:#define+宏的名字+要替换的内容

        ps:宏也可以替换宏--比如:#define b AA AA

                此时b代表着两次AA(以下方的例子为例)

        带参数的宏定义:#define ADD(a,b) a+b--将ADD替换为a+b的结果--当然,要先传入参数

位运算:

    (1)与:&

    (2)或:|

    (3)取反:~

    (4)异或:^  --相同时为0,不同时为1--数字电路与逻辑

    (5)左移:<< --"a<<2"--表示a向左移动2位,且以0补位

    (6)右移:>> --与左移同理

    ps:如何给指定位置赋予"1"--或运算的应用

你可能感兴趣的:(C语言学习笔记,c语言,学习,笔记)