
C-Language
文章平均质量分 90
wanWan呐
code changes the world
hello world!!!
展开
-
详解 memset 函数
函数介绍函数原型:void* My_Memset(void* ptr, int value, size_t num)。函数解释:将 ptr 中当前位置后面的 num 个字节用 value 替换并返回 ptr 。函数作用:在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。文档中的解释如图:函数的模拟实现#include<stdio.h...原创 2019-10-11 22:49:15 · 959 阅读 · 1 评论 -
atoi & itoa 的模拟实现
库函数 atoi 的模拟实现用法:将字符串里的数字字符转化为整形数,返回整形值。int my_atoi(char* ptr){ assert(ptr); int flag = 0; int num = 0; char* pch = ptr; while (*ptr) { if (*pch == '-') { flag = 1; } else if ...原创 2019-07-19 23:50:00 · 446 阅读 · 0 评论 -
C语言中关于const关键字的用法
1.修饰局部变量,int const a=10;const int b=8;这两种写法是一样的,表示a和b 都是常量,不可以改变。在用const 修饰变量时,一定要给变量初始化,否则之后就不能再进行赋值了。代码举个例子:2.常量指针,指针指向的内容不能改变,int const * p;或者 const int * p;这两种写法是一样的,表示p指向的内容是常量。需要注意两点:①:常量指针说...原创 2019-04-28 14:02:47 · 653 阅读 · 0 评论 -
关于整形提升的一些经典例题(2)
例题(1):#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ char a = -1; signed char b = -1; unsigned char c = -1; printf("a=%d\nb=%d\nc=%d", a, b, c);...原创 2019-04-26 22:23:29 · 462 阅读 · 0 评论 -
数据的存储
1.整形在内存中的存储(1)在计算机系统中,整数统一用补码来表示和存储。原码:直接将二进制按照正负数的形式翻译成二进制。反码:将原码的符号位不变,其他位按位取反。补码:反码加1就得到补码。(正数的原码,反码,补码都相同)(2)在内存中存储时,还有大小端存储方式:大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位...原创 2019-04-26 21:38:23 · 523 阅读 · 0 评论 -
三子棋(可以设置n行n列)
初始化棋盘打印棋盘玩家走和电脑走判断输赢、平局一、test.c文件1.在主函数中创建一个test函数;int main(){ test(); system("pause"); return 0;}2.写test函数;(test函数包括:①游戏的菜单②调用电脑走时产生的随机数③调用game函数)void test(){ int input = 0; srand(...原创 2019-04-05 12:17:55 · 583 阅读 · 0 评论 -
操作符详解
操作符 的分类:一.算术操作符(+ - * / % )1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。二.移位操作符(>>和 << )1.<<左...原创 2019-04-02 16:10:36 · 560 阅读 · 0 评论 -
关于整型提升(1)
隐式类型转换C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。整型提升的意义:表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是int 的字节长度,同时也是CPU的通用寄存器的长度。 因此,即使两个char类型的相加,在CPU执行时实际上也...原创 2019-03-31 21:35:24 · 1179 阅读 · 0 评论 -
C语言的文件操作
一、磁盘上的文件是文件,在程序设计中,我们一般谈到两种文件:1.程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀 为.exe)。2.数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出 内容的文件。根据数据的组织形式, 数据文件 又被称为被称为 文本文件 或者 二进制文...原创 2019-06-27 00:33:20 · 428 阅读 · 0 评论 -
C库函数的模拟实现
1.模拟实现strlen#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>size_t my_strlen(const char* str){ int count = 0; while (*str) { str++; count++; } return coun...原创 2019-05-12 23:02:10 · 579 阅读 · 2 评论 -
指针的进阶
1.字符指针(char * )一般这样子使用: int main() { char pw = 'c'; char* ch = &pw; *ch = 'c'; return 0; }但更多是这样子使用: int main() { char* pw = "chang world"; printf("%s\n", pw); retu...原创 2019-07-02 18:01:19 · 477 阅读 · 0 评论 -
指针的一些练习题
一维数组int main(){ int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; printf("%d\n", sizeof(a));//40 printf("%d\n", sizeof(a + 0));//4 printf("%d\n", sizeof(*a));//4 printf("%d\n", sizeof(a + 1));//4 p...原创 2019-07-02 17:08:14 · 468 阅读 · 0 评论 -
指针的初阶
1. 指针的概念指针就是变量,就是存放地址的变量#include<stdio.h>#include<stdlib.h>int main(){ int a = 100; //在内存中开辟的一块空间 int* p = &a; //对变量a,取出它的地址,可以使用&操作符 //将a的地址存放在p变量中,p就是一个之指针变量。 system("...原创 2019-07-01 21:57:20 · 423 阅读 · 0 评论 -
程序的编译(预处理操作)+链接
程序的翻译环境和执行环境 ( 在ANSI C的任何一种实现中,存在两个不同的环境)第1种是翻译环境:在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境:它用于实际执行代 码。一.生成一个程序的过程可以分为四个步骤:预处理----->编译----->汇编----->链接预处理:gcc -E test.c -o test.i( 预处理完成之后就停下来,预处理之后...原创 2019-06-26 01:27:30 · 569 阅读 · 0 评论