由于结构体是值类型,在方法传递时希望传递结构体地址,可以使用时结构体指针完成 可以结合new(T)函数创建结构体指针 peo := new(People) //因为结构体本质是值类型,所以创建结构体指针时已经开辟了内存空间 fmt.Println(peo == nil) //输出:false //由 ...
分类:
其他好文 时间:
2020-03-05 13:33:37
阅读次数:
66
#include <stdio.h> #include <windows.h> int Add(int a, int b) { return a + b; } int main() { typedef int(*KKK)(int, int); //定义指针函数 KKK a; //定义一个函数指针 a ...
分类:
编程语言 时间:
2020-03-04 13:06:29
阅读次数:
69
/* author:yangJian */ // js中call,apply,bind的实现原理() // 三者的区别,都是改变this指针,call和apply主要是参数区别,bind返回的是一个函数体,而call和apply是立即执行 // call的实现 function fn1 (str1, ...
分类:
移动开发 时间:
2020-03-04 09:18:27
阅读次数:
86
#include<stdlib.h>#include<stdio.h>#include<unistd.h>#include<sys/types.h>typedefint(*funtcb)(void);intfuncta(void){printf("%s%d\n",func,LINE);return0;}intadd(inta,in
分类:
其他好文 时间:
2020-03-03 17:49:52
阅读次数:
79
在嵌入式学习工作中经常初始化一个硬件就写一个初始化函数,基本都要到主函数中调用进行初始化,main函数都要改变。当利用 这个属性就可以构造一个 ,这样每次初始化一个硬件啥的就不用到main函数中去调用初始化函数。式在RTT初始化函数和Linux初始化驱动模块也是类似这样做的。 attribute的用 ...
分类:
其他好文 时间:
2020-03-01 23:23:59
阅读次数:
263
习题11 8 单链表结点删除 (20分) 本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下: 函数接口定义: 函数 从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到?1时表示输入结束,函数应返回指向单链表头结点的指针。 函数 将单链 ...
分类:
其他好文 时间:
2020-03-01 21:56:41
阅读次数:
201
委托概念 c#中的委托概念也就好比律师对象,它是一个类(“委托是类类型”这个事实将在“委托本质”部分进行详细介绍),因为只有类才有对象的概念,这也体现了c#作为一门面向对象语言的特性。 c#中的委托可以理解为函数的一个包装,它使得c#中的函数可以作为参数来被传递,这在作用上相当于c++中的函数指针。 ...
一:Qt带参数的信号 main.cpp #include "widget.h" #include "slot.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); //查找Q ...
分类:
其他好文 时间:
2020-02-26 01:14:32
阅读次数:
236
1,函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。 2,回调函数是由别人的函数执行时调用你传入的函数(通过函数指针完成) 3,使用回调函数的方式,给一个整型函数 int arr[10] 赋10个随机数 4,指针细节 ①指针变量存放的是地址,从这个角度看指针的本质 ...
分类:
其他好文 时间:
2020-02-25 16:08:33
阅读次数:
63
首先简要回顾一下缓冲区溢出的攻击大系: ◆栈溢出(stack smashing) 未检查输入缓冲区长度,导致数组越界,覆盖栈中局部变量空间之上的栈桢指针%ebp以及函数返回地址retaddr,当函数返回执行ret指令时,retaddr从栈中弹出,作为下一条指令的地址赋给%eip寄存器,继而改变原程序 ...
分类:
其他好文 时间:
2020-02-23 22:35:56
阅读次数:
91