首页 > 其他分享 >C语言学习 函数指针与typeof

C语言学习 函数指针与typeof

时间:2023-02-04 16:11:25浏览次数:43  
标签:10 typedef int double ptr C语言 typeof 函数指针 InitPointer

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <io_utils.h>
 4 
 5 // 1
 6 int *(f1(int, double));
 7 
 8 // 2
 9 int (*f2)(int, double);
10 
11 // 3
12 int *(*f3)(int, double);
13 
14 // 4
15 // int (*f4)(int, double)[];
16 
17 // 5
18 // int (*f5)[](int, double);
19 
20 typedef int (*Func)(int, double);
21 
22 typedef int Boolean;
23 typedef int *IntPtr;
24 typedef int IntArray[];
25 
26 int Add(int left, double right) {
27   return (int) (left + right);
28 }
29 
30 void InitPointer(int **ptr, int length, int default_value) {
31   *ptr = malloc(sizeof(int) * length);
32   for (int i = 0; i < length; ++i) {
33     (*ptr)[i] = default_value;
34   }
35 }
36 
37 int main() {
38   int a;
39   IntPtr p;
40   IntArray players = {1,3,4,5};
41   PRINT_HEX(&main);
42   PRINT_HEX(&InitPointer);
43 
44   void (*func)(int **ptr, int length, int default_value) = &InitPointer;
45 
46   func(&p, 10, 0);
47   InitPointer(&p, 10, 0);
48 
49   (*func)(&p, 10, 0);
50   (*InitPointer)(&p, 10, 0);
51 
52 
53   PRINT_INT_ARRAY(p, 10);
54 
55   free(p);
56 
57   Func func1 = &Add;
58   int result = func1(1, 3.0);
59   PRINT_INT(result);
60   return 0;
61 }

 

标签:10,typedef,int,double,ptr,C语言,typeof,函数指针,InitPointer
From: https://www.cnblogs.com/liumy/p/17091758.html

相关文章

  • C语言学习 指针参数作为返回值(通过汇编了解函数返回值机制)
    RAZ是EAX的高32位,RDX是EDX的高32位。低32位清零,高32位也会清零        ......
  • C语言学习 指针的运算和比较
    1#include<stdio.h>2#include<io_utils.h>34intmain(){5{6inta=2;7int*p=&a;89PRINT_INT(p+1);10PRINT_INT(......
  • C语言 特殊指针 (使用禁忌)
    NULL野指针pointer_at_large就是一个野指针 1#include<stdio.h>2#include<io_utils.h>34int*pointer_at_large;56voidDangerousPointer(){......
  • C语言学习 指针
    编译器是visualstudio   代码1#include<stdio.h>2#include<io_utils.h>34intmain(){5inta;6scanf("%d",&a);78int*p=&a......
  • C语言结构体对齐,超详细,超易懂
    结构体对齐规则结构体的第一个成员总是存放在结构体变量开辟的空间的起始地址其它成员变量要存储在一个名叫对齐数的整数倍的地址结构体总大小为最大对齐数的整数倍,结构体......
  • 【C语言 数据结构】数组与对称矩阵的压缩存储
    文章目录​​数组的定义​​​​数组的顺序表示和实现​​​​顺序表中查找和修改数组元素​​​​矩阵的压缩存储​​​​特殊矩阵​​​​稀疏矩阵​​数组的定义提到数组......
  • 模拟实现不受限制的字符串函数--C语言版
    C语言中提供了许多十分好用的库函数,一旦我们掌握了它们,我们使用C语言写代码就会变得更加得心应手。1.strlenstrlen函数就是计算字符串的长度的,它会一直读取到\0,它的返回值就......
  • 二分查找——C语言描述
    二分查找——C语言描述目录二分查找——C语言描述0测试用例框架1定义2代码4测试用例0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?......
  • 冒泡排序——C语言描述
    冒泡排序——C语言描述目录冒泡排序——C语言描述0测试用例框架1定义2代码4测试用例0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?......
  • C语言-猜数游戏
    整理文件发现以前写的C语言猜数游戏1-效果演示2-程序#include<stdio.h>#include<stdlib.h>#include<time.h>intmain(){ srand(time(0)); intnumber=rand......