
初识C语言
你快看看我
这个作者很懒,什么都没留下…
展开
-
宏和函数的区别
比较两个数的大小方法一:用函数来写int Add(int x,int b){ return a>b?a:b;}方法二:用宏的定义来写#define MAX(a, b) ((a)>(b)?(a):(b)) 命名约定一般来讲函数的宏的使用语法很相似。所以语言本身没法帮我们区分二者。 那我们平时的一个习惯是:把宏名全部大写 函数名不要全部大写宏和函数的对比1.代码长度#define定义宏:每次使用时,宏代码都会被插入到程序中。除了非常小的宏之外,程序的长度原创 2021-03-19 22:58:27 · 434 阅读 · 2 评论 -
C语言结构体中的位段
C语言结构体中的位段位段的内存分配位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型位段的空间上是按照需要以4个字节( int )或者1个字节( char )的方式来开辟的。位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。例题:解析:位段的跨平台问题int 位段被当成有符号数还是无符号数是不确定的。位段中最大位的数目不能确定。(16位机器最大16,32位机器最大32,写成27,在16位机器会原创 2021-03-07 21:19:33 · 432 阅读 · 0 评论 -
C语言中部分库函数的模拟实现
头文件的统一使用这三个#include <stdio.h>#include <assert.h>#include <string.h>strct的作用是将一个字符串接到另一个字符串的后面//模拟实现strcatchar* my_strcat(char* dest, const char* src){ assert(dest && src); char* ret = dest; while (*dest) { dest++; }原创 2021-02-09 20:48:09 · 156 阅读 · 0 评论 -
关于简单大小端存储
//判断电脑为大端存储还是小端存储int check_sys(){ int a = 1; char* p = (char*)&a; //或return *(char*)&a; return *p;}int main(){ if (check_sys() == 1) { printf("小端"); } else printf("大端");}电脑中的数据存储有大端字节序存储和小端字节序存储。大端字节序存储:把一个数的低位字节的内容,存放在高地址处;高位原创 2021-02-01 01:31:56 · 148 阅读 · 0 评论 -
C语言写扫雷小游戏
C语言写扫雷小游戏:头文件:#include <stdio.h>#include <time.h>#include <stdlib.h>#define EASY_COUNT 10#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2//初始化棋盘void InitBoard(char board[ROWS][COLS], int rows, int cols, char set);原创 2021-01-25 16:42:36 · 128 阅读 · 0 评论 -
C语言实现三子棋
C语言实现三子棋#include “game.h”三子棋为3*3的数组,将其初始化为空格:void InitBoard(char board[ROW][COL], int row, int col){int i = 0;int j = 0;for (i = 0; i < row; i++){for (j = 0; j < col; j++){board[i][j] = ’ ';}}}打印表盘:void DisplayBoard(char board[ROW][CO原创 2021-01-24 23:28:54 · 181 阅读 · 1 评论