
C
am brother
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C语言】字符串函数的实现(strcpy,strcat,strcmp,strstr,strlen)
str系列字符串函数的实现strlen函数的实现strcpy函数的实现strcat函数的实现strcmp函数的实现strstr函数的实现 strn系列函数(strncmp , strncpy, strncat)的模拟实现 https://blog.youkuaiyun.com/weixin_43939593/article/details/104123855 mem系列函数(memcpy, ...原创 2020-02-02 22:24:35 · 630 阅读 · 1 评论 -
【C语言】memcpy,memmove,memcmp函数的模拟实现
mem系列字符串的模拟实现str系列(strcmp.strcpy等等)字符串处理函数 -> char*mem系列内存处理函数 -> 任意类型,泛型(void*)mem系列不关注’\0’, 只关注要拷贝的字节数。memcpy函数原型: void* memcpy(void* destination, const void* source, size_t num)函数mem...原创 2020-02-02 20:13:32 · 401 阅读 · 0 评论 -
【C语言】不用(a+b)/2计算a,b的平均值
不用(a+b)/2计算a,b的平均值不用(a+b)/2的方式,我们可以尝试用位运算来考虑。方法一: 在位运算中原创 2020-02-02 17:03:35 · 416 阅读 · 0 评论 -
【C语言】编写函数unsigned int reverse_bit(unsigned int value)(位运算)
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000 00000000 00000000 00011001翻转后: (2550136832)10011000 00000000 00000000 00000000程序结果...原创 2020-02-02 16:08:52 · 631 阅读 · 0 评论 -
【C语言】用(#define)宏定义表达式写出加法、交换函数
#define宏1. 用宏定义表达式完成加法运算函数#define ADD(x,y) ((x)+(y))宏会替换到调用宏函数的地方,这是毋庸置疑的。为什么x+y的整体要加上() ?那么为什么参数x,y要加上() ?我们来结合代码看一下吧。#define ADD(x,y) x+yint main(){ int x1 = 3; int x2 = 5; printf("%d\n...原创 2020-02-02 15:13:50 · 10789 阅读 · 1 评论 -
编译链接的详细过程
程序走起来 要给CPU去执行写程序的人:规划 设计(设计实现代码,cpu不认识我们写的代码) 编译器 (中间中转工作) 指令集 交给CPU编译器进行了编译工作 机器的思考速度比人快的不厌其烦的工作如何被编译器进行执行的呢?一种语言需要编译: C C++ JAVA(先编译后执行)不需要编译的: python(一边编译,一边执行)并不是不被编译,cpu期望的是拿到同样...原创 2020-02-02 11:43:07 · 1444 阅读 · 0 评论 -
【C语言】结构体内存对齐
结构体内存对齐结构体内存对齐的原则:结构体内第一个变量成员默认处在偏移量为0的地址处其他成员变量要对齐到某个数字(对齐数的)的整数倍的地址处对齐数 = 编译器默认的一个对齐数与该成员变量大小的较小值( VS中默认的对齐数为8)VS下, 对齐数 = min(8,sizeof(变量类型))结构体总大小为最大对齐数(结构体内所有变量对齐数的最大值)的整数倍结构体嵌套结构体的情况下,嵌套的...原创 2020-02-01 16:07:37 · 227 阅读 · 0 评论 -
【C语言】strncpy,strncat,strncmp函数的模拟实现
strn系列函数的模拟实现strncpy的实现char *my_strncpy( char * dst, const char * src, size_t count){ assert(dst&&src); char * dt = dst; while (*src && count--) { *dst = *src; dst++; src+...原创 2020-01-31 14:11:26 · 422 阅读 · 0 评论 -
【C语言】break和continue关键字
关键字break和continue的作用break作用:再循环中的作用都是 跳出循环,不再使循环向下进行 我们通过break在for循环、while循环、do-while循环里面的应用来更好的理解break关键字。1. 在for循环中我们通过代码剖析:int main(){ for (int i = 0; i < 10; i++) { if (i == 5) ...原创 2020-01-30 13:39:53 · 1017 阅读 · 2 评论 -
【C语言】打印100到200间的所有素数(多种优化)
打印100到200间的所有素数。素数:除了1和本身没有其它的因数的数称为素数。方法: 试除法写法一:【思想】:用flag作为标志位,标记是否为素数。 flag 置为1,即为不是素数。 flag为0, 则是素数。 在外层for循环中判断是否打印,count计数位是否++。【代码体现】:int main(){ int count = 0; // 计算素数的个数 int flag = ...原创 2020-01-22 16:19:55 · 1194 阅读 · 0 评论 -
【C语言】析半查找(二分查找)
二分查找简介:二分查找是一种快速从大量有序数据中查找目标数据的一种算法,当然二分查找也是一种高效的查找方法。要使用二分查找必须满足的两个前提:数据必须是顺序存储(比如顺序表、数组这样的顺序存储结构)待排序列必须有序算法思想:通过两个变量left和right同时标记数组的第一个位置的,和数组的最后一个位置。每一次取到数组最中间数的下标mid对应的那个数nums[mid],与需要查找...原创 2020-01-15 18:20:52 · 502 阅读 · 0 评论 -
【排序】冒泡排序
冒泡排序冒泡排序的三种写法void Swap(int* num1, int* num2){ int temp = *num1; *num1 = *num2; *num2 = temp;}void BubbleSort1(int* arr, int n){ int end = n; // n个数 数组的下标是[0,n-1];,数组的下标取不到n while (end >...原创 2019-12-08 21:50:38 · 449 阅读 · 0 评论 -
【C语言】指针经典习题
先看一段代码,我们通过这个例子来近一步解读指针#include <iostream>using namespace std;int main(){ int n[][3] = { 10, 20, 30, 40, 50, 60 }; int(*p)[3]; //数组指针 p = n; cout << p[0][0] << "," << *...原创 2019-11-30 15:36:46 · 1135 阅读 · 0 评论 -
【leetcode】字符串相加
方法一:class Solution {public: string addStrings(string num1, string num2) { string num3; int end1 = num1.size() - 1; int end2 = num2.size() - 1; int add = 0...原创 2019-11-23 22:15:35 · 165 阅读 · 0 评论 -
【C语言】打印菱形详解
#include <stdio.h>int main(){ int line = 0; int i = 0; int j = 0; printf("请输入你要打印的行数\n"); scanf("%d", &line); for (i = 1; i <= line; i++) { for (j = 1; j <= line - i; j++) ...原创 2019-11-23 21:39:30 · 15643 阅读 · 2 评论 -
【C语言】函数指针---异类指针
我们都知道C语言中有一类指针叫做函数指针,但是它的用法和指针不大一样,甚至说它是一个异类指针。下面看一段代码#include <stdio.h>int add(int a, int b){ return a + b;}int main(){ int(*pfunc)(int, int) = add; printf("%d\n", (*************pfunc...原创 2019-11-23 00:54:42 · 229 阅读 · 0 评论 -
【C语言】多级指针传参的讲解
指针是C语言的精华,也是很重要的章节。我在学习的时候遇到多级指针的时候也会犯迷糊,最后我稍微发现了一点方法。下面想分享给大家。这篇文章我们通过分析题目、完成多级指针的传参 来讲一下多级指针传参与多级指针解引用,很简单易懂的方法。多级指针先来看一段不完整的代码void func() { }int main(){ int a = 3; int b = 4; int *pa = &...原创 2019-11-22 00:54:30 · 789 阅读 · 0 评论 -
【C语言】结构体
结构体结构体的声明struct tag{member-list}variable-list;注:结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量例如我们描述一个学生struct Stu{char name[20];int age;char sex[5];char id[20];}s1; //注意有分号结构成员的类型结构成员的类型可以是标量...原创 2019-11-20 14:29:53 · 321 阅读 · 0 评论 -
static关键字的作用
在C语言中 :static是用来修饰变量和函数的:修饰局部变量修饰全局变量修饰函数static修饰局部变量! 代码1#include <stdio.h>void test(){ int i = 0; i++; printf("%d ",i);}int main(){ for(int j = 0; j < 10; j++) { test...原创 2019-10-14 16:44:48 · 348 阅读 · 0 评论