
c语言
代码里的守护者
于是我们相爱,手心湿的像海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串的左旋和右旋
实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符的到BCDAABCD左旋两个字符的到CDAB#include#includevoid reverse(char arr[], int s, int e){ while(s<e) { char tmp; tmp = arr[s]; arr[s] = arr[e]; a原创 2017-07-31 13:37:01 · 410 阅读 · 0 评论 -
sizeof的详尽计算结构体字节数方法
Sizeof用法本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type};对结构MyStruct采用转载 2017-08-07 16:23:36 · 1376 阅读 · 0 评论 -
C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质:int nArray[10] ={ 0 };int *p = nArray;printf("nArray:%p , p = %p\n", nArray,p);打印出来的将会是两个相同的值.但是数组名并不意味着和指针完全相同, 数组名还有另一个原创 2017-08-01 20:49:38 · 607 阅读 · 0 评论 -
模拟实现strstr,memcpy,memmove
模拟实现strstr#include#includechar *my_strstr(char *dest, char *src){ char *p = NULL; char *s = NULL; assert(dest && src); if(*src == 0) return NULL; while(*dest) { p = dest;原创 2017-08-05 20:16:27 · 264 阅读 · 0 评论 -
函数的调用过程
函数的调用过程:以此程序为例,#includeint Add(int x, int y){ int ret = 0; ret = x+y; return ret;}int main(){ int a = 10; int b =20; int ret = 0; ret = Add(a,b); printf("ret = %d\n",原创 2017-07-29 12:08:24 · 317 阅读 · 0 评论 -
复杂链表的复制
题目:有一个复杂链表,其结点除了有一个pNext指针指向下一个结点外,还有一个pSibling指向链表中的任一结点或者NULL。其结点的定义如下:struct ComplexListNode{ int val; ComplexListNode* pNext; ComplexListNode* pSibling;};下图是一个含有4个结点的该类型复杂链表。原创 2018-01-24 13:15:11 · 228 阅读 · 0 评论 -
C语言实现单链表面试题
1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用? 链表顺序表每个元素的访问每个节点都需要通过指针找到内存然后加载到缓存中内存访问时,不需要多次从内存到缓存的步骤头插,头删,中间位置直接增加或删除节点在插入或删除之前要先对之后的数据进行挪动尾插,尾删需要对空间进行操作直接对数据进行操作,空间是之前原创 2018-01-23 21:55:24 · 260 阅读 · 0 评论 -
C语言单链表面试题(进阶)
结构体定义如下:typedef struct ListNode{DataType data;struct ListNode* next;}ListNode;1.判断单链表是否带环?若带环,求环的长度?求环的入口点?并计算每个算法的时间复杂度&空间复杂度。ListNode* IsOrNotRing(ListNode* pHead){ ListNode* slow =原创 2018-01-24 17:20:17 · 339 阅读 · 0 评论