C系列
文章平均质量分 73
请叫我小白同学啊
路上的iOS小白
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言总结之指针数组(中)
一.概述: 如果指针存储了某个变量的地址,我们就可以说指针指向这个变量. 数组的存储是连续的,数组名就是数组的地址,这样一来数组和指针就有着很微妙的关系。二.指针数组int a[] = {1,2,3};//数组名就是数组的地址.int *p = &a[0]; //等价于 *p=a; printf("len=%lu\n",sizeof(int));//64...原创 2018-05-18 15:22:41 · 1105 阅读 · 0 评论 -
C语言构造类型(枚举)
一概述: 1.枚举类型是比较简单的一种数据类型,在C语言中枚举类型是作为整形常量进行处理的,通常称为‘枚举常量’.二.枚举类型的定义:2.1定义: enum 枚举名{元算1,元素2,....};2.2枚举变量的定义:方式1:enum Season{spring,summer,autumn,winter};int main(){ennum Season s;retur...原创 2018-06-11 10:12:46 · 2557 阅读 · 0 评论 -
C语言内存管理总结(2)
一:概述: 堆是一个大容器,它的容量要远远大于栈,这可以解决栈造成的内存溢出的困难。一般比较复杂的数据类型都是放在堆中。但是在C语言中,堆内存空间的申请和释放需要手动通过代码来完成.二.介绍:在这个文件中:#include "stdlib.h"有这两个函数:void *malloc(size_t __size) __result_use_check __alloc_size(...原创 2018-06-24 13:56:18 · 319 阅读 · 0 评论 -
C语言构造类型(结构体)下
一概述: 一个知识很难一次性消化完,有些知识,我会分开几篇来总结。 二.结构体数组: 前面我们已经复习过结构体类型,结构体变量。现在来复习结构体数组.2.1定义:方式1:(喜好这种)struct Student{char *name;int age;};struct Student stu[2];方式2:struct Student{char *...原创 2018-06-08 11:03:53 · 1878 阅读 · 0 评论 -
C语言预处理之条件编译
一.概述 如果我们希望程序的其中一部分代码只有满足一定条件时才进行编译,条件不成立不参与编译(参与编译的代码才能够执行),这就是条件编译。二.用法: 条件编译以 # 开头的,跟判断语句很相似,但不一样.#if 条件一//编译代码#elif 条件二//编译代码#else//编译代码#endif1.如果条件1,成立,那么编译器就会把 #if 与 #elif 之间的...原创 2018-06-01 10:07:17 · 955 阅读 · 0 评论 -
C语言构造类型(结构体)上
一.概述: 当一个整体由多个数据构成时,我们可以用数组来表示这个整体,但数组有个特点:内部的每一个元素都必须是相同类型的数据。 在实际运用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄、身高等构成,这些数据由不同类型组成,姓名可以是字符串类型,年龄可以整型,身高可以是浮点型。 为了解决上述问题,C语言提供了...原创 2018-06-07 22:21:42 · 4839 阅读 · 0 评论 -
C语言存储方式和作用域(3)
一.概述: 前面讲了,static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问;extern用来定义和声明一个外部函数,允许其他文件访问。 statuc和extern对变量也有作用,不过跟函数有点差别。二.再谈谈全局变量: 1.默认情况下,一个函数不可以访问再它后面定义对全局变量。int main(){a= 1...原创 2018-06-07 12:00:10 · 223 阅读 · 0 评论 -
C语言之预处理总结之宏定义
一概述: C程序的运行包括编译和链接两个阶段,其实在编译之前预处理器首先要进行预处理指令进行操作(#include文件包含指令),将处理完产生的一个新的源文件进行编译。 注意:1.所有的预处理指令都以符号“#”开头的,并且不需要分号(;)结尾. 2.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到结尾结束.(我习惯把它写在源程序的开头...原创 2018-05-30 10:51:09 · 630 阅读 · 0 评论 -
C语言存储方式和作用域(2)-关键字的使用
一.概述: 前面总结了变量的类型,不同类型的变量有着不同的存储类型、不同的生命周期、不同的作用域. 在C语言中没有其他高级语言的public private等修饰符,来限定变量和函数的有效范围,但是却有两个类似的关键字能达到类似的效果: extern 和 static.二、extern与函数: 先理解两个概念: ...原创 2018-06-05 12:21:31 · 345 阅读 · 0 评论 -
typedef关键字总结
一.概述: 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。二.typedef的使用:1.简单使用: 跟原来的基本类型是完全一样的。2.在别名基础上再起别名:3.typedef 与指针:4.使用typedef给结构体起别名也可以这样:也可以省略结构体的名称。5.结构体与指针:6.typedef与枚举类型:7.typedef与指向函数...原创 2018-06-12 11:00:05 · 332 阅读 · 0 评论 -
C语言构造类型总结(共用体)
一概述: 共用体又叫联合,因为它的关键字是union,它的使用不像枚举和结构体那么频繁,但是作为C语言中一种数据类型,我们也有必要弄清它的用法.二.内存大小 从前面的分析,我们知道结构体的总长度等于所有成员的和(当然还可能遇到内存对齐问题),共用体刚好与结构体不同,共用体所有成员共用一块内存,顺序从低地址开始存放,一次只能使用其中一个成员,union最终大小由共用体中最...原创 2018-06-11 11:21:34 · 2440 阅读 · 0 评论 -
C语言之const关键字总结
一概述: 同样都可以定义常量,const与#define相比有什么不同? 1.const常量有数据类型,而宏常量没有数据类型。 2.编译器可以对常量进行类型安全检查,而宏只进行字符替换,没有安全检查,而且在字符替换对过程中可以发生意想不到对错误(边界效应). #define N 2+3double a = N/2; 我们预想a值...原创 2018-06-04 10:56:08 · 1216 阅读 · 0 评论 -
C语言存储方式和作用域(1)
一概述: 只有完全了解每个变量或函数存储方式、作用范围和销毁时间才可能正确的使用编程语言。基础扎实才是硬道理。 二.变量作用范围: 在C语言中变量从作用范围分为: 1.全局变量:定在所有函数外部的定义的变量,定义后所有的函数中均可以使用,只要前面的代码修改了,那么后面的代码中再使用就是修改后的值。(ps:在项目中,一般有两到三处,我一般定义成全...原创 2018-06-03 21:24:58 · 293 阅读 · 0 评论 -
C语言预处理之文件包含
一.概述: 我们接触C语言的时候,已经接触了文件包含的指令了,就是#include,它可以将一个文件的全部内容拷贝到另一个文件中。二.基本使用:1.第一种: #include<文件名>直接到C语言库函数头文件所在的目录中寻找文件。2.第二种:#include "文件名"系统会先去源程序(当前的文件夹(目录)下)寻找,如果找不到,再到操作系统的path路径查找,最后才...原创 2018-06-02 21:53:58 · 2648 阅读 · 0 评论 -
C语言总结之函数指针(下)
一、返回指针的函数: 指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的。返回指针的函数的一般形式为: 类型名 *函数名(参数列表)字符串转换为大写字符例子:char * toUpper(char *a){//先保存最初的地址,因为后面的每次循环会改变字符串最初的地址。 char * b = a; int len = 'a' - 'A'; // 判断ASCII码差...原创 2018-05-19 11:16:23 · 345 阅读 · 0 评论 -
C语言之数组总结
回过头来复习基础,打铁需要自身硬一概述: 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等。 二. 一维数组: 1.注意: 1.数组长度必须是固定的,必须为常量或常量表达式(2+1,2*3)或者不写,不能使用变量进行初始化。 int len = 2; int a[len] = { 1, 2};//错误,不能使变量...原创 2018-05-14 11:18:54 · 2973 阅读 · 0 评论 -
C语言总结之字符串
一概述:C语言中没有字符串这种类型,如果想要表示字符串需要使用char类型的数组,因为字符串本身就是个多字符串的组合.注意:1.字符串是一个特殊的数组,在它的结束位置加上一个'\0'.'\0'是ASCII码值为0的字符,是一个空操作符,表示什么也不干。 所以采用字符数组存放字符串,赋值时候要包含结束标志'\0'. 2.如果使用字符串赋值的时候程序会自动添加'\0'作为结...原创 2018-05-15 10:20:40 · 543 阅读 · 0 评论 -
C语言总结之指针(上)
一.概述: 直接引用: char a; a = 10; 我们通过变量名来直接引用变量,然后进行赋值. 看似简单,但是系统会自动将变量名a转换为变量的存储地址,根据地址找到变量a的存储空间,然后再将数据 10 以二进制的形式放入变量a的存储空间中。 通过变量名引用变量,由系统自动完成变量名和存储地址之间的转换,称为变量的“直接引用".二.什么是指针 一....原创 2018-05-16 11:07:00 · 365 阅读 · 0 评论 -
C语言内存管理总结(1)
一.概述: 计算机中的内存是分区来管理的,程序和程序之间的内存是独立的,不能互相访问,比如QQ和微信分别所占的内存区域是独立的,不能相互访问的。 而每个程序的内存里面,也是分区管理的,一个应用程序所占的内存可以分为很多个区域,我们需要了解的主要有四个区域,通常叫内存四区,如下图: 代码区: 代码区的代码,程序被操作系统加载(...原创 2018-06-20 11:56:03 · 361 阅读 · 0 评论
分享