![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c学习
文章平均质量分 50
鸭鸭打瞌睡
这个作者很懒,什么都没留下…
展开
-
编译过程杂记
static如果一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加 static内部函数又称静态函数。使用内部函数,可以使函数的作用域只局限于所在文件。即使在不同的文件中有同名的内部函数,也互不干扰。提高了程序的可靠性。外部函数如果在定义函数时,在函数的首部的最左端加关键字 extern,则此函数是外部函数,可供其它文件调用。C 语言规定,如果在定义函数时省略 extern,则默认为外部函数。原创 2023-05-21 17:16:23 · 458 阅读 · 0 评论 -
c 工程开发字符串 api模型
描述一 char *p = “abcd1111abcd2222abcd333” 请找出abcd出现的次数 要求1 :自定义一个接口(函数),并实现功能 要求2 :编写测试用例 api分析 实现一个函数 --> get_count() 参数分析 a.需要查找的子串 b.待查找的子串 c.输出的结果 a.需要查找的子串 --> 需要查找的子串整个存放的内存空间 --> 需要子串的首地址 = char *str b.待查找的子串 -> 待查找的子串整个存放的内存空间 --&g原创 2021-11-09 15:08:28 · 106 阅读 · 0 评论 -
嵌入式c自我修养
开始记录一些在内核里看见的奇怪语法,慢慢认清,学会他们的写法 宏定义 写一个比较大小的宏定义 差劲 #define MAX(x,y) x > y ? x : y 会因为传入的宏带有其他符号(考虑优先级)而改变我们的想法 比如 : printf(“max=%d”,MAX(1!=1,1!=2)); 中等 #define MAX(x,y) (x) > (y) ? (x) : (y) 括号外的符号也会有类似的优先级 比如 : printf(“max=%d”,MAX(1!=1,1!=2)); 良好 #原创 2021-09-02 00:08:37 · 695 阅读 · 0 评论 -
c语言 队列---->链表实现
队列大致 我们一般用链表实现队列,而栈一般用顺序表实现 一个头节点,一个尾节点 队列实现 定义一个队列 队列有很多个节点,相当于链表里的节点,每个节点有指向下一个节点的指针 //定义每一个数据的节点 typedef struct my_node{ char data; struct my_node *next; }my_node,*p_node; //定义队列 typedef struct{ p_node front,rear; //队头,尾指针 }link_queue;原创 2021-05-13 11:11:14 · 340 阅读 · 0 评论 -
c语言 栈-->数组实现
顺序栈 下面的代码里,头指top指针里面也是存放数据的 实现 定义一个栈 typedef struct{ char *base; char *top; int stack_size; }my_stack,*p_my_stack; 对栈初始化 传入一个栈的指针,设置栈初始大小为100 void init_stack(p_my_stack p_stack) { p_stack->base = (char *)malloc(100*sizeof(char));//初始栈的原创 2021-05-11 12:00:26 · 210 阅读 · 0 评论 -
二维数组,二级指针,指针数组,数组指针傻傻分不清
用的是64位的编译器,所以一个指针8字节 举例子 二维数组 == 数组指针 int a[2][3] = { {2,3,6},{20,40,60}} ; //定义了行为2,列为3的数组,sizeof(a) = 4*6 =24 int(*b)[5]; //数组指针,一个指向5个数组的指针 //因为[]优先级大于* 所以要加括号表明这是一个 int指针 ...原创 2021-04-19 09:41:52 · 120 阅读 · 0 评论