首页 > 其他分享 >函数指针和函数指针数组

函数指针和函数指针数组

时间:2023-05-28 20:01:36浏览次数:56  
标签:return int void char Add 数组 函数指针

//void Print(const char* str)
//{
// printf("%s\n", str);
//}
//int main()
//{
// (*(void(*)())0)();//将0地址处的函数强制转换位无类型的函数指针,解引用并调用
// void(*p)(const char*) = Print;
// void(*signal(int, void(*)(int)))(int);
// //signal是一个函数指针,函数的两个参数(int类型,函数指针返回void的类型)
// //signal的返回类型是一个函数指针,指向的函数参数是int类型,返回void的类型
// typedef void(*pfun_t)(int);//函数指针 函数名和*在一起
// pfun_t signal(int, pfun_t);//和上述signal函数表述相同
//
// typedef unsigned int uint;
// (*p)("hello bit");
// return 0;
//}
//int Add(int x, int y)
//{
// return x + y;
//}
//int Sub(int x, int y)
//{
// return x - y;
//}
//int Mul(int x, int y)
//{
// return x * y;
//}
//int Div(int x, int y)
//{
// return x / y;
//}
//int main()
//{
// int a = 10;
// int b = 20;
// Add(a, b);
// printf("%p\n", Add);
// printf("%p\n", &Add);//&Add Add都是函数的的地址
// int(*pa)(int,int) = Add;//函数指针——指向函数的指针 存放函数地址
// printf("%d\n", pa(2, 3));//*可以省略
// printf("%d\n", (*pa)(2, 3));
// //*pa(2,3) err 错误写法
// int(*paa[4])(int, int) = {Add,Sub,Mul,Div};//函数指针数组
// int i = 0;
// for (i = 0; i < 4; i++)
// {
// printf("%d\n", paa[i](2, 3));
// }
// return 0;
//}

//char* My_syrcpy(char* dest, const char* src){}
//int main()
//{
// char*(*pf)(char*, const char*) = My_syrcpy;
// char*(*pfarr[4])(char*, const char*) = { My_syrcpy };
// return 0;
//}

标签:return,int,void,char,Add,数组,函数指针
From: https://www.cnblogs.com/zrk-8008/p/17438732.html

相关文章

  • 经典函数指针应用 函数指针回调
    voidManu(){ printf("**************************************\n"); printf("*********1.Add2.Sub******\n"); printf("*********3.Nul4.Div******\n"); printf("*********0.exit******\......
  • 数组方法ES5 + ES6
      sort/reverse主要用于排序,会影响原来数组。constarr=[1,2,3]arr.sort();//正序arr.reverse();//反序arr.sort(()=>0.5-Math.random());//乱序   splice编辑元素,会影响原来数组//splice(目标下标,删除多少元素,插入元素);constarr......
  • 有序矩阵中的第 k 个最小数组和
    1.暴力记录前k个classSolution{public:intkthSmallest(vector<vector<int>>&mat,intk){vector<int>pre(k,0);//存储前k个最小的和intcur[mat[0].size()*k];//存储intsize=1;//用于记录pre当前大小for(auto&r......
  • Golang GIN 接收结构体切片(前端对象数组)
    想接收前端这样的数据格式:【json数组】[{"password":"casso","mobile":"13456789999","nick_name":"go","icon":"地址"},{"passwor......
  • php循环创建数组
    PHP中可以使用for循环、while循环和foreach循环来创建数组。下面是一个使用for循环创建数组的示例代码:<?php$myArray=array();for($i=0;$i<5;$i++){$myArray[$i]=$i*2;}print_r($myArray);?>该代码将创建一个空数组,然后使用for循环遍历数组并为每个元素......
  • 数组的拷贝
    packagecom.Demo;//数组的拷贝publicclassTest5{publicstaticvoidmain(String[]args){int[]arr={11,22,33};int[]arr2=copy(arr);dayin(arr2);}publicstaticvoiddayin(int[]arr){System.out.print("[&qu......
  • leetcode:合并两个有序数组
    题目给你两个按非递减顺序排列的整数数组 nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......
  • 静态初始化数组
    1packagecom.karl1;23publicclassArrayDemo{4publicstaticvoidmain(String[]args){5//静态初始化数组67//1.数据类型[]数组名=new数据类型[]{元素1,元素2,元素3.。。。。};8int[]ages=newint[]{1,24,36};9......
  • 数组的遍历
    packagecom.karl1;publicclassArrayDemo2{publicstaticvoidmain(String[]args){//数组的遍历int[]ages={12,24,36};//012for(inti=0;i<ages.length;i++){System.out.println(ag......
  • 数组的访问
    packagecom.karl1;publicclassArrayDemo1{publicstaticvoidmain(String[]args){//数组的访问int[]arr={12,24,36};//012//访问数据System.out.println(arr[0]);System.out.println(arr[1]......