c
文章平均质量分 61
c
fchwpo?
这个作者很懒,什么都没留下…
展开
-
c语言 通讯录实现
头文件及各类声明contact.h#define MAX 1000#define MAX_NAME 20#define MAX_TEL 12#define MAX_ADDR 100#define MAX_QQ 12#define MAX_SEX 5#include<stdio.h>#include<string.h>//类型的声明 函数的声明typedef struct PeoInfo{ char name[MAX_NAME]; char tele[M原创 2021-07-26 17:26:14 · 110 阅读 · 0 评论 -
c语言基础总结6 指针相关
基本概念:1. 指针就是个变量,用来存放地址,地址唯一标识一块内存空间2. 指针的大小是固定的4/8个字节(32位平台/64位平台)3. 指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限free不会更改指针的指向字符指针char* pstr = “hello bit.”; 特别容易让人以为是把字符串 hello bit 放到字符指针 pstr 里 了但是本质是把字符串 hello bit. 首字符h的地址放到了pstr中hello bit 是一个常量字符串 不能被原创 2021-07-25 16:17:12 · 66 阅读 · 0 评论 -
c语言基础总结5 数据在内存中的存储
c内置了多种数据类型,使用这些类型,开辟的内存空间大小并不相同,看待内存空间的视角也不同整型:char: unsigned char signed char //字符在内存中存储的实际上是ASCII码值 char有无符号取决于编译器 大部分是signed charshort: unsigned short [int] signed short [int]int: unsigned int signed intlong:原创 2021-07-25 16:14:02 · 109 阅读 · 0 评论 -
c语言基础总结7 字符串相关
字符串和字符串函数函数介绍strlen()size_t strlen ( const char * str );字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )参数指向的字符串必须要以 ‘\0’ 结束注意函数的返回值为size_t,是无符号的( 易错 )strcpy()char* strcpy(char * destination, const char * source );源字符串必须以 ‘\0’ 结束会将源字原创 2021-07-26 17:18:32 · 70 阅读 · 0 评论 -
c语言基础总结8 结构体相关
结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构体声明 struct tag { member-list; }variable-list; //此处创建的结构体变量是全局变量 而在main函数中创建的结构体变量是局部变量也可以: typedef struct tag { member-list; }tag;//可以直接用tag创建变量在声明结构的时候,可以不完全的声明。 //匿名结构体类型原创 2021-07-26 17:20:59 · 52 阅读 · 0 评论 -
c语言 三子棋游戏
game.h设置头文件#define ROW 3#define COL 3#include<stdio.h>#include<stdlib.h>#include<time.h>//声明函数//初始化棋盘void InitBoard(char board[ROW][COL], int row, int col);//打印棋盘void DisplayBoard(char board[ROW][COL], int row, int col);//玩家下原创 2021-07-18 22:02:04 · 146 阅读 · 1 评论 -
c语言基础总结10动态内存分配
为什么存在动态内存分配我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节 char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。 但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编 译时开辟空间的方式就不能满足了。 这时候就只能试试动态内存开辟了(在堆区)原创 2021-07-28 15:05:33 · 282 阅读 · 0 评论 -
c语言 扫雷游戏
game.h设置头文件#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 9#define COL 9#define EASY_COUNT 10#define ROWS ROW+2#define COLS COL+2//初始化void InitBoard(char board[ROWS][COLS], int rows, int cols,char set);//打印原创 2021-07-18 22:04:57 · 113 阅读 · 1 评论 -
c语言基础总结2 语句、函数
什么是语句?c中由一个;隔开的就是一条语句分支语句(选择结构)if else如果书写不规范,则else会与最近的可以匹配的if匹配写判断条件时,(4num)比(num4)更好,更易检查出问题switchbreak语句的实际效果是把语句列表划分为不同的部分。(最后记得加上break)(跳出当前{})switch(整型表达式) case 整型常量表达式 也可以是char如果与case都不匹配,则执行default语句(最好加上)循环语句while循环continue会跳出本次循环原创 2021-07-17 21:48:36 · 92 阅读 · 0 评论 -
c语言基础总结3 数组、操作符
数组数组是一组相同类型元素的集合。数组创建时,[]中必须是常量数组的初始化不能使用(),只能使用{}int arr[10]={1,2,3};//不完全初始化,剩余元素默认初始化为0int arr[]=(1,2,3,4);//根据给的元素确定数组的长度char arr1[]={‘a’,‘b’,‘c’,‘d’};//–>a,b,c,d sizeof(arr1)=4 strlen(arr1)=随机值 strlen()找到“\0”才停止char arr2[]=“abcd原创 2021-07-18 21:58:53 · 199 阅读 · 0 评论 -
c语言基础总结9 枚举、联合体
枚举枚举顾名思义就是一一列举。 把可能的取值一一列举定义: enum Day//星期 { Mon, Tues, Wed, Thur, Fri, Sat, Sun };{}中的内容是枚举类型的可能取 值,也叫 枚举常量 。 这些可能取值都是有值的,默认从0开始,一次递增1当然在定义的时候也可以赋初值。 例如:enum Color//颜色{ RED=1, GREEN=2, BLUE=4 };原创 2021-07-26 17:23:10 · 64 阅读 · 0 评论 -
c语言基础总结12 程序环境和预处理
程序的环境和预处理程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。源文件–>编译–>链接(合并段表、符号表的合并和重定位)–>可执行文件编译:预处理(预编译)–>编译(语法分析、词法分析、语义分析、符号汇总)–>汇编(形成符号表、汇编指令–>二进制(机器)指令)哪个阶段可以发现被调用的函数未定义?预处理只会处理#开头的语句,编译阶原创 2021-07-28 15:09:08 · 125 阅读 · 0 评论 -
c语言基础总结4 调试技巧
实用的调试技巧所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧,就必然需要掩盖,那就一定会有迹象,迹象越多就越容易顺藤而上,这就是推理的途径。顺着这条途径顺流而下就是犯罪,逆流而上,就是真相。基本步骤:1、发现错误的存在2、以隔离、消除等方式对错误进行定位3、确定错误产生的原因4、剔除纠正错误的解决办法5、对错误进行改正,重新测试Debug称为调试版本,它包含调试信息,且不作任何优化,便于程序员调试程序(程序员调试的版本)Release称为发布版本,原创 2021-07-25 16:12:06 · 168 阅读 · 0 评论 -
c语言基础总结11 c文件操作
在程序设计中,我们一般谈的文件有两种:程序文件、数据文件程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀 为.exe)数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件这里讨论的是数据文件文件名:一个文件要有一个唯一的文件标识,以便用户识别和引用文件名包含3部分:文件路径+文件名主干+文件后缀 例如: c:\code\test.txt为了方便起见,文件标识常被原创 2021-07-28 15:06:25 · 408 阅读 · 1 评论