共 53 篇文章 |
|
if (s->_pHead == NULL) {//链表中没有节点 return; } else if (s->_pHead->_PNext == NULL) {//只有一个节点 free(s->_pHead); s->_pHead = NULL; } else { //多个节点 PNode pCur = s->_pHead; PNode pPre = NULL; while (pCur->_PNext) { pPre = pCur; pCur = pCur->_PNext; } free(pCur); pPre->_PNext = NULL;... 阅150 转0 评0 公众公开 21-10-21 22:31 |
这个Node类型由两部分构成,一个32位无符号变量num(当然不一定非得是一个),和一个指向下一节点的指针,该指针与其自身的数据类型相同。//节点指针,(如果是第一个节点指针,就称之为链表指针)接下来,我们只要建立节点与节点的联系,使前一节点指向后一节点,那么我们便可以得到一条完整的单向链表了。即声明一个指向空(NULL)的链表指针... 阅49 转0 评0 公众公开 21-10-21 18:26 |
今天为大家带来的是C语言里面的内存管理的知识点,这篇文章过后,我们C语言的大体基本知识就已经介绍完了,那么下一篇文章开始,我讲讲解OC语法,也就是苹果公司推出的Objective-C语言,这是苹果应用开发的语言,也欢迎大家阅读,本篇文章是对C语言内存管理的一个讲解,内存的使用是程序设计中需要考虑的重要因素之一,这不仅由于系统内存是有... 阅53 转0 评0 公众公开 21-10-02 14:15 |
C语言 指针数组和指向指针的指针。指针数组类型表示的是多个指针(一组有序指针)在一般形式中"*指针数组名"两边不能有 括号。如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的 指针变量。//指针数组char **p;//定义指向指针的指针int i;for(i=0;i<5;i++){p=name+i;//一个指向指针的指针指向指针数组... 阅25 转0 评0 公众公开 21-10-01 12:54 |
C语言运算符优先级。优先级是用来标识运算符在表达式中的运算顺序的, 在求解表达式的值的时候, 总是先按运算符的优先次序由高到低进行操作, 可是, 当一个运算对象两侧的运算符优先级别相同时, 则按运算符的结合性来确定表达式的运算顺序。运算符的结合性指同一优先级的运算符在表达式中操作的组织方向, 即: 当一个运算对象两侧运算符的优先级别... 阅667 转1 评0 公众公开 21-09-05 13:33 |
1. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;解析:sizeof(ss)大小是20,结构体ss中三种基本类型:float/char/int,sizeof(f)=4,sizeof(p)=1,sizeof(adf)=4*3=12;所以总的大小是17,根据上面的原则3,是最宽字节的整数倍,所以是20字节。解析:char a大小还是4,查看资料发现结构体第一个变量的首地址是该结构体最宽字节的... 阅14 转0 评0 公众公开 21-09-04 16:26 |
void swap(void *vp1,void *vp2){ void temp = *vp1;void swap(void *vp1,void *vp2,int size){ char buffer[size];int lsearch(int key,int array[],int size){ for(int i = 0;void* lsearch(void* key, void *base, int n, int elemSize){ for(int i = 0;void *lsearch(void *key,void *base,int n,int elemSize,int(*cmpfn)(void*,void*,int... 阅20 转0 评0 公众公开 21-08-03 10:28 |
1. void 指针可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值。在内存的分配中我们可以见到 void 指针使用:内存分配函数 malloc 函数返回的指针就是 void * 型,用户在使用这个指针的时候,要进行强制类型转换,也就是显式说明该指针指向的内存中是存放的什么类型的数据 (int *)malloc(1024) 表示强制规定 m... 阅40 转0 评0 公众公开 21-08-02 21:32 |
主题:钩子函数简析及实例。/*我们让函数指针先后指向不同的函数*/Max,Min函数就是钩子函数了,把函数指针g_pFun指向函数Max,Min的过程,就是“挂钩子”的过程,把钩子函数“挂”到函数指针上,很形象。在我们的代码中,常常把挂钩子的过程叫做注册,会提供一个注册函数,让使用者把自己编写的钩子函数挂在已经声明的函数指针上,这个注册函... 阅26 转0 评0 公众公开 21-07-31 21:54 |
C语言--回调函数和注册函数注册和回调函数。1、什么是函数注册和回调 回调函数无非是对函数指针的应用,说白了就是通过使用函数指针来调用一个函数,而函数注册就是把函数指针作为参数传递出去便于别的模块使用的过程。简而言之,回调函数就是允许用户把需要调用的方法的指针作为参数传递给一个函数,以便该函数在处理相似事件的时候可以灵活的... 阅161 转1 评0 公众公开 21-07-31 21:29 |