![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
文章平均质量分 75
C语言
Heavy sea
这个作者很懒,什么都没留下…
展开
-
C语言变量
一、变量的作用域按照变量的作用域分可分为局部变量和全局变量局部变量:在一个函数内部定义的变量 只有在函数内才能使用他们全局变量:函数之外定义的变量,也称外部变量。有效范围是从定义变量的位置开始到本源文件结束。二、变量的存储方式静态存储方式:在程序运行期间由系统分配固定的存储空间的方式动态存储方式:程序运行期间根据需要进行动态分配空间的方式存储空间可以分为三部分:(1) 程序区(2) 静态存储区(3) 动态存储区全局变量全存放在静态存储区。程序开始执行给全局变量分配存储区,执行完毕释原创 2021-04-18 11:50:42 · 989 阅读 · 0 评论 -
C语言文件操作函数及fopen和open的区别
编程操作 :*FILE file;定义FILE结构体指针变量,这个指针指向的FILE结构体的内存空间是系统自动分配的.打开方式描述“r”以只读方式打开文件,文件必须存在.“r+”以可读写的方式打开文件,文件必须存在.“w”以只写方式打开文件,文件不存在则创建;文件存在则擦除文件中的内容.“w+”以可读写的方式打开文件,文件不存在则创建;文件存在则擦除文件中的内容.“a”以只写方式打开文件,文件不存在则创建;文件存在则新内容从文件内容末尾开始写入.原创 2020-11-08 21:44:02 · 437 阅读 · 0 评论 -
数组和函数
数组和函数```c#include <stdio.h>void printInit(int score[],int size){ int i; printf("--------------------------------------\n"); for(i=0;i<size;i++){ printf("student %d ---- score %d\n",i+1,score[i]);原创 2020-09-23 22:09:51 · 202 阅读 · 0 评论 -
指针变量的类型及含义
int *p-------------- 定义p为指向整型数据的指针变量int *p[4]------------定义指针数组p,它由4个指向整型数据的指针元素组成 (指针数组)int (*p)[4]---------- p为指向包含4个元素的一维数组的指针变量(数组指针)int f ( )--------------f为返回整型函数值的函数int *p( )---------------p为返回一个指针的函数,该指针指向整型数据int (原创 2020-10-02 15:50:22 · 1966 阅读 · 0 评论 -
指针数组和数组指针
指针数组-----含义:数组元素全为指针变量的数组,通俗来讲就是好多变量的地址的集合。(它是一个数组,数组里面的每一个元素都是指针)指针数组中的元素都必须具有相同的存储类型、指向相同数据类型的指针变量。-----定义形式:一维指针数组的定义形式:“类型名 *数组标识符[数组长度]”。int a = 2; int b = 3;int c = 4; //三个毫无关系的整型变量int *parray[3]; parray[0] = &a; //三原创 2020-09-24 16:09:01 · 66 阅读 · 0 评论 -
C语言函数指针
-----含义:函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。1.如何定义一个函数指针:void (*p)( )*1.如何表示指针:星号*2.如何表示函数 ( )2.如何给函数指针赋值:p = printwelcome;//函数名就是地址3.如何通过函数指针调用函数:p( ) //直接通过指针名字加()或(*p)() //取内容 (*指针名字)+()#原创 2020-09-26 14:36:47 · 96 阅读 · 0 评论 -
字符串操作常用函数
1.puts函数(字符串输出函数)一般形式:puts(字符数组)作用:输出一个字符串2.gets函数(字符串输入函数)一般形式:gets(字符数组)作用:从终端输入一个字符串到字符数组函数。#include <stdio.h>int main(){ char *pstr; //野指针 乱指 //char *pstr = NULL;//什么都不指 //二者均会报错 printf("请输入字符:\n");原创 2020-10-12 21:12:15 · 1756 阅读 · 0 评论 -
结构体指针
怎么访问结构体中的变量:1.不用结构体指针:用点符号,如下面代码中的 stu1.score2.如果用结构体指针:就不能用点符号来访问结构体中的变量,要用->注意:指针是否是野指针或是NULL,记得要开辟空间,否则会引起段错误#include <stdio.h>#include <string.h>#include <stdlib.h>struct student{ int score; char name[原创 2020-10-10 21:18:46 · 153 阅读 · 0 评论 -
线性表----访问链表中的数据及查询链表
#include <stdio.h>#include <stdlib.h>struct Test{ int data; struct Test *next;};void printLink(struct Test *head){ struct Test *p; p = head; while(p != NULL){ printf("data = %d\原创 2020-10-12 21:13:11 · 354 阅读 · 0 评论 -
如何避免内存泄漏
什么是内存泄漏内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。现象:程序刚运行起来,很好,运行几个小时,几天或者是几周,程序崩溃while(1){ sleep(1); int *p = (int*)malloc(1024);//malloc申请的空间,程序不会主动释放}如何避免内存泄漏1.注意有没有一直申请空间2.及时合理释放空间原创 2020-09-26 14:36:19 · 2639 阅读 · 0 评论 -
typedef关键字
typedef为C语言关键字作用:为数据类型定义一个新名字这里的数据类型包括内部数据类型(int char 等)和自定义的数据类型(struct 等)和普通类型匹配,通过名字获取一些信息和struct 匹配,使代码编写简洁和普通类型匹配:#include <stdio.h>//单片机开发中,寄存器有8位 16位 32位typedef unsigned char u_int8;typedef unsigned short int u_int16;typedef unsigned原创 2020-10-03 21:02:43 · 80 阅读 · 0 评论 -
线性表----单链表删除指定节点
#include <stdio.h>struct Test{ int data; struct Test *next;};void printLink(struct Test *head){ struct Test *p; p = head; while(p != NULL){ printf("data = %d\n",p->data);原创 2020-10-22 16:45:37 · 224 阅读 · 0 评论 -
线性表----单链表从指定节点前方插入新节点
#include <stdio.h>struct Test{ int data; struct Test *next;};void printLink(struct Test *head){ struct Test *p; p = head; while(p != NULL){ printf("data = %d\n",p->data);原创 2020-10-22 16:46:01 · 1070 阅读 · 0 评论 -
线性表----单链表从指定节点后方插入新节点
#include <stdio.h>struct Test{ int data; struct Test *next;};void printLink(struct Test *head){ struct Test *p; p = head; while(p != NULL){ printf("data = %d\n",p->data);原创 2020-10-22 16:46:25 · 724 阅读 · 0 评论 -
线性表----尾插法创建链表
#include <stdio.h>#include <stdlib.h>struct Test{ int data; struct Test *next;};struct Test *insertBehind(struct Test *head,struct Test *new){ struct Test *p = head;//注意防止指针头发生变化 if(p == NULL){原创 2020-10-22 16:44:40 · 129 阅读 · 0 评论 -
线性表----头插法创建链表
通过while 调用创建#include <stdio.h>#include <stdlib.h>struct Test{ int data; struct Test *next;};struct Test *createLinks(struct Test *head){ struct Test *new; new = (struct Test*)malloc( sizeof(struct Test)原创 2020-10-22 16:45:14 · 266 阅读 · 0 评论