![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
花木狗
这个作者很懒,什么都没留下…
展开
-
动态内存
1、存储区静态存储区和动态存储区统称为栈内存动态分配区域称为堆。动态分配区可以存放一些临时用的数据,不需要在程序声明部分定义,也不许要在函数结束时才释放,可以随时开辟,随时释放。该区域只能通过指针来引用。2、建立内存的动态分配这些函数全部在头文件stdlib.h文件中。(a)malloc()函数函数原型:void *malloc(unsigned int size);作用:在内存的动态存储区中分配一个长度为size的连续空间,单位为字节。返回值:函数返回值是所分配区域的第一个字节的地原创 2020-07-20 23:52:37 · 841 阅读 · 0 评论 -
选择、循环、控制语句
选择结构1、if语句(1)基本语法 if() do; else if() do; else{ do; }(2)逻辑运算符 && 与 if(a=1&&b=2) do; || 或 ! 非 ! > && > || 非的优先级最高。2、switch语句(1)基本语法switch(表达式){ case 常量1:do1;b原创 2020-07-20 21:30:42 · 178 阅读 · 0 评论 -
结构体
结构体的定义struct Student{ //struct Student就是结构体名 int num; char name[20]; char sex; int age; float score; char addr[30];}定义方式:struct 结构体名{ 成员列表 }; //成员列表也被称为域表定义结构体变量(a)先声明,后定义变量struct Student{ int num; char name[20]; char原创 2020-07-20 21:16:10 · 229 阅读 · 0 评论 -
c语言基本类型
常量类型整型常量实型常量:十进制小数形式指数形式:-123.456e-100字符型常量普通字符:‘a’、‘A’ 保存成ASCII码转义字符:P46字符串常量:“boy”、“123”符号常量用#define指令指定一个符号常量。#define PI 3.1415 //末尾没有;放在预编译行符号常量在预编译时,编译系统用值进行字符替换。预编译完成后,符号常量就不存在了,全部变为具体值了。变量变量代表一个有名字,有特定属性的存储单元在对程序编译连接时,编译系统给每一个变量名原创 2020-07-20 18:05:02 · 1430 阅读 · 0 评论 -
共用体和枚举类型
共用体类型定义:使用同一块内存(同一个内存起始地址),存放多个不同类型的变量。使用覆盖技术来实现共用体,但是需要注意的是,同一瞬时一个内存地址只能存放一种变量,共用体变量中只能存放一个值,否则就会被覆盖。共用体变量中起作用的是最后一次(最近一次)被赋值的概念。定义union 共用体名{ 成员列表}变量列表定义方式类似于结构体。举例:union Data{ int i; char ch; float f;}a,b,c;等价于:union Data{ int i; char原创 2020-07-20 17:52:56 · 423 阅读 · 0 评论 -
typedef
typedef使用方法先按定义变量的方法写出定义体(int *p);将变量名换成新类型名;(int *Pointer)在前面加typedef;(typedef int *Pointer)用新类型名定义变量。(Pointer p1,p2)一般将新类型的首字母用作大写,来区别。typedef命名新类型使用举例:用于基本类型typedef int Integer;Integer i; 等价于int i;用于结构体typedef struct{ int month; int原创 2020-07-20 17:46:53 · 164 阅读 · 0 评论 -
网络编程常用数据类型
POSIX数据类型符合POSIX(可移植操作系统接口)的结构需要至少3个字段:sin_family、sin_addr和sin_port。POSIX定义的常见数据类型: size_t(字节的单位)size_t是为了增强程序的可移植性而定义的,在不同系统上,size_t的定义不同。他的大小和系统的位数有关。它是用来表示一个结构或一个数据占据多少字节的一个单位。32位系统上:size_t是unsigned int,是32位无符号整型。占个4字节;64位系统上,size_t是unsigned long原创 2020-07-18 19:53:55 · 369 阅读 · 0 评论 -
size_t和ssize_t
size_t和ssize_t都是用来描述多少字节的。但是有不同的区别size_tsize_t是为了增强程序的可移植性而定义的,在不同系统上,size_t的定义不同。他的大小和系统的位数有关。它是用来表示一个结构或一个数据占据多少字节的一个单位。32位系统上:size_t是unsigned int,是32位无符号整型。占个4字节;64位系统上,size_t是unsigned long,是64位无符号整型,占8个字节。size_t一般用来表示一种计数,比如有多少东西被拷贝等。例如:sizeof操作原创 2020-07-20 17:32:54 · 1722 阅读 · 0 评论 -
链表
链表链表有一个头指针变量。该变量指向一个元素,即结点。每个结点包括两个元素,一个是实际存储的数据,一个是一个指针变量,该指针变量指向下一个结点。(*p).==p->对于链表来说,一般可以用一个结构体指针来指向头结点。此后所有的节点和数据都可以使用->来引用。静态链表struct Node{ int num; struct Node *next;};int main(){ struct Node head,a,b; head.num=0; head.next=&原创 2020-07-18 21:11:21 · 138 阅读 · 1 评论 -
c语言的变量
变量的存储方式静态存储:在程序运行期间,由系统分配固定的存储空间全局变量全部是静态存储。程序开始时给全局变量分配存储空间,结束时释放。动态存储:在程序运行期间,根据需要进行动态的分配存储空间方式。一般在函数调用前后分配和释放。a、函数形参,在调用前没有存储空间,调用时分配存储空间。b、函数中定义的没有用static声明的变量;c、函数调用时的现场保护和返回地址。存储类别的定义(1)C语言存储类别有4种:auto: 局部变量默认为auto,即动态存储。static: 用于局部变量原创 2020-07-18 21:07:24 · 503 阅读 · 0 评论 -
const关键字
const关键字在c语言中由于广泛使用指针,因此可能稍有不慎就会造成程序崩溃。使用const关键字可以对传入参数进行保护。const关键字用于将一个变量声明为只读,也就是常量。无法被修改。也就是所谓的常变量。const修饰数组用const修饰数组声明一个数组常量,是对数组中数据的保护。const修饰的数组中的内容不能被改变。但是需要注意的是,const修饰数组还是不能保证安全的。使用某个指针指向这个数组,可以通过这个指针来修改数组中存储的内容。const 基本类型 数组名[];int m原创 2020-07-18 21:03:32 · 155 阅读 · 0 评论 -
指针
概念理解int a=1;int *pointer_a=&a; //pointer_a=&a;(1)地址和指针的定义内存区中每一个字节都有一个“编号”。地址包括一个编号信息和一个数据类型信息。C语言中地址=位置信息(纯地址)+所指向数据的数据类型=指针=&a指针就是一个变量的地址,只能用&获取。(2)指针变量定义指针是一个地址,指向存储变量的内存空间所在,带数据类型。指针变量是存放该指针(地址)的变量。(3)指针变量定义a、一个完整的地址&a,原创 2020-07-18 20:57:22 · 310 阅读 · 0 评论 -
FILE文件和标准IO
文件分类文件根据数据的组织形式,分为ASCII文件和二进制文件。内存中数据直接输出到外村,则是二进制文件(映像文件);在存储前转换为ASCII码,则为文本文件(text file)。文件缓冲区文件的输入输出都要经过文件缓冲区。每个文件会在内存中的分配一个文件缓冲区。输入输出共用该缓冲区。读入时:系统一次从磁盘中文件读入一批数据到内存中的文件缓冲区,然后从缓冲区逐个地将数据送到程序数据区。输出时:程序将数据先输出到文件缓冲区,等到缓冲区装满后,再输入到磁盘中。文件类型指针每个被使用文件原创 2020-07-18 20:29:58 · 483 阅读 · 0 评论