首页 > 代码库 > typedef使用
typedef使用
1, 定义函数指针 typedef 返回值 (*别名)(参数列表)
如typedef int (*f)(int) , f是定义类型为int (*)(int)的函数指针
2, 定义数组 typedef 数组类型 别名[数组大小]
如typedef int vec[20], vec是定义为int[20]的数组
vec a == int a1[20]
3, 定义数组指针 typedef 类型 (*别名)[数组大小]
如typedef int (*vec)[20], vec为指向int[20]的指针
#include <stdio.h> #include <stdlib.h> #define MAX_SIZE 20 typedef double (*f)(int, int, char); //function point typedef int vecInt[MAX_SIZE]; //vector int typedef int (*vec)[MAX_SIZE]; double calc(int a, int b, char op) { switch(op) { case ‘+‘: return a + b; case ‘-‘: return a - b; case ‘*‘: return a * b; case ‘/‘: return a / b; } } int main(int argc, char* argv[]) { f func = calc; printf("%lf\n",func(2,3,‘-‘)); vecInt a = { 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, }; for (int i = 0; i < MAX_SIZE; i ++) { printf("a[%d] = %d\n", i, a[i]); } vec b; int c[2][MAX_SIZE] = {0}; b = c; b[0][0] = 1; printf("%d\n", b[0][0]); return 0; }
typedef使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。