随笔分类 - C基础(笔记)
摘要:http://www.jianshu.com/users/5b9cf22a3692/latest_articles
阅读全文
摘要:目录:一、高级指针二、malloc函数三、calloc函数四、realloc函数回到顶部一、高级指针1 堆内存的动态内存分配。内存分为:栈区(变量)、代码区(字符串)、全局区(全局变量)、堆区(自己创建,自己回收,变量,字符串)2 为了从堆中动态分配内存,要指定字节个数的空间,返回首地址,如果失败,返回NULL(空)包含头文件stdlib.h,基本的内存操作都写好了。3 malloc函数,从堆中分配指定的字节个数的空间,返回首地址,失败返回NULL4 calloc函数,从堆中分配指定的字节个数的空间,把所分配的空间所有字节都清零,返回首地址,失败返回NULL5 realloc函数,可以调整已经
阅读全文
摘要:目录:一、大型软件开发二、头文件和static三、结构体四、联合五、枚举回到顶部一、大型软件开发将一个代码中的内容,拆分成多个文件,最后的可执行文件只要一个。操作步骤:1 原来只有一个文件main.c输入函数 输出函数 声明2 多人开发 将原文件拆成三个文件,分别为*.h、*c、main.c3 编译时1)分别编译不同的源文件,生成相应的目标文件gcc -c input.cgcc -c main.c2)可以将多个目标文件链接生成同一个可执行文件gcc input.o main.o => a.out3)在main.c中,引入头文件4).h文件中的条件编译解决的是重复声明问题5)先xcode中
阅读全文
摘要:目录:一、宏定义二、#x,##x使用和预定义宏三、宏的高级使用(条件编译)回到顶部一、宏定义1 宏是常用的预处理功能之一,是在编译之前进行宏替换,即将宏名替换成所定义的宏体。2 优点:可以使代码更简单,更容易,避免大量使用。3 宏定义定义在函数外面;格式:#define PI 3.14PI为宏的文件内容在编译前将PI的内容替换成3.144 宏与全局变量的区别宏相当于字符串的替换操作,内存中不存在全局变量在内存中是存在的。相同点:通常定义一个全局变量加上const修饰符,全局变量的值是不可以修改的。5 宏函数#define MianJi(r) PI*r*r宏函数只是文本,只是相当于做了内容替换的
阅读全文
摘要:目录:一、C语言字符串函数库二、用命令行输入参数回到顶部一、C语言字符串函数库1 #include 2 字符串复制strcpy(参数1,参数2);参数1:目标字符串位置(复制到哪里)参数2:源字符串(来源)3 字符串拼接函数strcat(参数1,参数2);参数1:第一个字符串参数2:第二个字符串将第一个字符串的内容与第二个字符串的内容拼接在一起,保存在第一个字符串中。4 字符串长度strlen(str);参数为字符串,返回字符串长度,不包含结束符。5 字符串比较函数strcmp(参数1,参数2);根据ASCII码表来比较字符串中每一个字符是否相等,结果为两个字符串的差值,差值为0,字符串相等,
阅读全文
摘要:目录:一、字符串二、字符串输入输出函数三、指针数组(字符串数组)回到顶部一、字符串1 一组字符数组,以数组的首地址开始,以ASC码的'\0'结束。2 字符串与普通数组的区别:普通数组没有结束标识,而字符串是有的。3 字符串的定义方式:字面值:"hello"使用字符数组定义字符串:char str[10] = {''a,'b','\0'};使用字符指针:char* str = "hello";4 字符串创建方式的不同声明的变量数组是放在内存中的栈区。字面值创建的字符在内存代码区。如果创建的字符
阅读全文
摘要:目录:一、指针二、指针与数组回到顶部一、指针1 内存被分为字节,每个字节有唯一地址,指针保存的是内存中的地址。2 保存指针的变量,就叫指针变量,(保存地址)3 声明一个指针变量int i = 0;int* p;//声明一个指针变量 int*指针类型int * p; int* p; int *p;//这几种写法都行4 每个指针变量能指向一种特定类型的对象。5 指针是引用数据类型,因为本身没有保存最终数据,只是保存了数据的地址,间接的找到内存中的数据。6 指针的用法指针可用于参数,传递变量的地址,相当于多个函数共享内存地址(内存空间)。7 值传递:相当于不同变量,指向不同区域地址传递:相当于同一变
阅读全文
摘要:目录:一、函数二、return与exit关键字三、递归与递推回到顶部一、函数1 函数由函数名、返回值、形参、函数体组成。函数的使用分三个步骤:声明、定义、调用2 语法格式:返回值类型 函数名(参数){ 。。。函数体;}3 函数声明正常来件,函数在使用前一定要声明,由编译器从上到下,所以下面的代码调用上面的函数,不需要声明,但上面的代码调用下面的函数,就必须声明。函数的声明:去掉函数体部分,保留返回值类型 函数名(参数);如果返回值类型不是int的话,都要使用函数声明。函数声明,可以省略参数,省略参数代表可以接收任意参数,如果不需要参数,使用void关键字。4 函数调用在准备使用函数的时候,执行
阅读全文
摘要:目录:一、使用xcode编辑工具二、数组三、数组遍历四、多维数组回到顶部一、使用xcode编辑工具1 打开xcode程序2 创建一个项目OSX -> Application -> Command line Tool -> next-> ProductName : 项目名称(day07-1)-> Type : C选择项目所要保存的目录退出项目( command + q )双击day07-1.xcodeproj打开项目3 buile( command + b )编译4 clean( command + shift + k )清除目标文件或可执行文件5 command
阅读全文
摘要:目录:一、for循环二、break,continue三、循环嵌套四、while五、do while六、三个循环的对比七、空语句回到顶部一、for循环标识每次循环,循环终止条件,循环间的规律 签到 毕业 天for 变量=1 变量 表达式2(真)-> 循环体执行表达式1 -> 表达式2(假)-> 终止循环第二次执行的时候,执行表达式3 -> 表达式2(真)-> 循环体执行表达式3 -> 表达式2(假)-> 终止循环第n次执行表达式3 -> 表达式2(真)-> 循环体执行表达式3 -> 表达式2(假)-> 终止循环求:1~100的和练
阅读全文
摘要:目录:一、流程控制 条件分支 if else二、流程控制 开关分支 switch回到顶部一、流程控制 条件分支1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分。 //代码块由一条件或多条语句组成}else if(){ //表达式1为0为假,执行的语句部分。}else{ //以上条件补满足是,执行的语句部分。}2.在一个完整的if语句中至少要有一个if,elseif可以出现0~n次,else可以出现0~1次。3.if else语句应用与需要根据不同条件执行代码的场合。4.if else 语句最多只能执行一个分支,有else分支,必须选择其一执行,无else分支,可以选
阅读全文
摘要:目录:一、类型转换二、条件运算符三、逗号运算符四、运算符优先级回到顶部一、类型转换1.类型升级,浮点型高于整型,长整型高于整型,有符号与无符号取有符号。2.在C语言中,类型转换没有提示。高 long double double float long long long低 int低精度的值付给高精度的值是没问题的高精度的值付给低精度可能有问题3.其他转换,浮点型和整型转换,转换浮点型(double)在运算。short/char的运算转成int后运算。4.如果程序进行类型转换,可以使用强制类型转换,格式:目标类型 变量=(目标类型)原类型变量不管表达式的类型比强制的类型高还是低,都是可以的。注意:
阅读全文
摘要:目录:一、进制转换二、常量三、sizeof四、运算符五、赋值运算符六、自增减运算符七、关系运算符八、逻辑运算符九、取址寻址运算符回到顶部一、进制转换 1 进制转换是人们利用符号来计数的方法,包含有多种数据转换,进制转换由一组数码符号和两个基本因素(位与权),进制包括二进制、十进制、十进制。 2 二进制和十进制位与权:9 3位10 1权整数93在二进制在一个字节中的二进制存储方式0 1 0 1 1 1 0 1位128 64 32 16 8 4 2 1权零和正数:符号位为最高位值为0二进制转换为十进制:一位加权,零位不见01011101 = 1 + 4 + 8 + 16 + 64 = 2^0 +
阅读全文
摘要:目录:一、 注释二、数据类型三、 输入函数scanf四、转义符\五、char数据范围六、int整形七、float与double八、进制转换回到顶部一、 注释1 解释代码的意义,注意只是给程序员看的,不会编译。2 通常使用”//”标识一行内容的注释3 使用”/*…*/”注释多行4 还可以用来调错,替换法或排除法 回到顶部二、数据类型1 分类:基本数据类型、引用数据类型2 在C语言中,基本数据类型有四种:char、int、float、double3 字符型char,底层存储的是整数,是字符表ASCII里面的编码。 常见字符编码:'A' = 65 、'a' = 97
阅读全文
摘要:目录:一、C语言的编码规范二、变量三、浮点型float四、变量名命名规则五、变量作用域与生命周期回到顶部一、C语言的编程规范1 语句可以分开放在任意位置2 空格可以让代码更清晰3 缩进可以让代码更直观4 空行可以更好划分逻辑5 命名使用驼峰标识getName或下划线get_name回到顶部二、变量1 概述:大多数程序会进行大量计算,在计算过程中需要临时保存数据,存储数据的方法没,称之为变量。2 数据类型,对应内存区域,其值可变,变量有相应的类型和值。3 变量类型分字符型char、整形int、浮点型float/double、指针、结构、联合等。4 每次使用前要声明其类型,且声明一次。int nu
阅读全文
摘要:目录:一、MACOS系统操作二、C语言的使用方式三、编码四、编译 五、运行六、分析第一个C程序 七、预处理指令#include八、完整执行过程回到顶部一、MACOS系统操作操作计算机的两种方式:图形化操作方式、命令行操作方式命令:ls 显示所有文件及文件夹pwd 查看当前目录cd 切换子目录cd .. 返回上一级目录clear 清屏mkdir文件名 创建目录touch 文件名.后缀名 创建文件rm 删除一个文件,多个以空格隔开练习:创建一个文件夹Test,通过图形化操作创建,通过命令创建,通过图形化找到,通过命令找到。回到顶部二、C语言的使用方式1.打草稿,以文件的形式保存。->编码2.
阅读全文
摘要:目录:一、C语言基本知识二、C语言概述回到顶部一、C语言基本知识1 语言背景1946年,美国冯·诺依曼第一台计算机。 四大部分:中央处理器(控制器,运算器),存储器,输入设备,输出设备。注意:摄像头属于输入设备。计算机语言的分类:机器语言0、1汇编语言高级语言 语系分类 C语系 C、C++、C#、OC、Java B语系2、C语言的优点高级、功能强大、灵活、标准库(工具)、Unix Linux MAC系统集成C语言的开发环境3、C语言的缺点难以理解,易隐藏错误,难修改回到顶部二、C语言概述1 编程:自己有一个想法,通过计算机语言使计算机理解帮我们实现。2 C语言:就是告诉计算机如何去操
阅读全文

浙公网安备 33010602011771号