1 Star 0 Fork 0

李勇震/c语言每日练习

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test 12.12(函数指针数组) 1.62 KB
一键复制 编辑 原始数据 按行查看 历史
李勇震 提交于 2022-12-12 12:26 . add test 12.12(函数指针数组).
#include<stdio.h>
//void test(int** p1)
//{
//
//}
int main()
{
//指针数组 数组名是首元素地址 首元素是指针地址 可以作为实参。
int* arr[10] = { 0 };
printf("%p\n", arr);
printf("%p\n", arr + 1);
return 0;
//test(int**p1/&*p1/arr)
}
#include<stdio.h>
int Add(int x, int y)
{
return x + y;
}
int main()
{
int a = 10;
int b = 20;
printf("%p\n", &add);
printf("%p\n", add);
int (*pf)(int, int) = &Add;
//int (*pf)(int, int) = Add;
int ret1 = Add(a, b);
int ret2 = (*pf)(a, b);
int ret3 = pf(a, b);
printf("%d\n", ret1);
printf("%d\n", ret2);
printf("%d\n", ret3);
return 0;
}
#include<stdio.h>
int Add(int x, int y)
{
return x + y;
}
int Sub(int x, int y)
{
return x - y;
}
int main()
{
//调用地址为0的函数
(*(void(*)())0)();
void(*signal(int, void(*)(int)))(int);
//此段是signal函数的定义
//signal是一个函数 该函数有了两个参数 一个是int 另一个是函数指针 该函数指针指向一个int 无返回值 signal本身也无返回值
//上面等价于 void(*)(int) signal(int, void(*)(int));
//typedef 对类型进行重新定义
typedef void(*pfun_1)(int);
pfun_1 signal(int, pfun_1);
}
int (*pfarr[2])(int,int)= { Add, Sub };
//Add,Sub是两个类型相同的函数指针数组
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
if (x-- < 5)
printf("%d", x);
else
printf("%d", x);
return 0;
}
#include<stdio.h>
int main()
{
int a[5] = { 1,3,5,7,9 };
int* p = (int*)(&a + 1);
printf("%d %d", *(a + 1), *(p - 1));
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/liyongzhen2004/2022.10.24.git
git@gitee.com:liyongzhen2004/2022.10.24.git
liyongzhen2004
2022.10.24
c语言每日练习
master

搜索帮助