1516-函数指针

笔记:

函数指向或引用内存中的数据。

可以用指针用来存储函数的地址=指向函数的指针。

说内存的时候,指的是程序运行的上下文。

随机存储器,RAM,称为主存。

应用程序的代码段,是用来存放可执行文件拷贝过来的机器码或者指令的。

指令先拷贝到主存,然后执行。

内存:存储指令,还有很多数据。

代码(我运行有点问题):

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h> // 包含字符串处理函数库
#include <math.h>
#include <time.h>

void PrintHello(char *name) {
	printf("Hello %s\n",name);
}

int Add(int a, int b) {
	return a+b;
}

int main()
{
	void (*ptr)(char*);
	ptr = PrintHello;
	ptr("Tom");
}

实际的函数指针用例:

只写了其中的一个

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h> // 包含字符串处理函数库
#include <math.h>
#include <time.h>

int compare(const void* a, const void* b)
{
	int A = *((int*)a);
	int B = *((int*)b);
	return abs(A) - abs(B);
}

int main()
{
	int i, A[] = { -31,22,-1,50,-6,4 };
	qsort(A, 6, sizeof(int), compare);
	for (i = 0; i < 6; i++) printf("%d", A[i]);
}
上一篇:第九章---for循环及在STL的应用(vectormapsetlistfor_each)、嵌套while、while 统一输出、do-while