#ifndef __DEFINE__H__
#define __DEFINE__H__ #define vector3(type) \
typedef struct vector3_##type { \
type a; \
type b; \
type c; \
}vector3_##type; // vector3##_type会报错 #define ABS_CLASS(type) \
typedef struct cl_##type cl_##type; \
struct cl_##type // 没有这一行会报错 vector3(int); // 用来初始化其后面的内容 #endif

上面是"define.h"文件

#include<stdio.h>
#include"define.h" ABS_CLASS(float){
float a;
float b;
float c;
float d;
float (*sum)();
}; cl_float vecf4={10.0,20.0,30.0,40.0,NULL}; float sum(cl_float cl)
{
return cl.a+cl.b+cl.c+cl.d;
} int main()
{
vector3_int vec;
vec.a=;
vec.b=;
vec.c=;
vecf4.sum=sum;
printf("vec.a+vec.b+vec.c=%d\n",vec.a+vec.b+vec.c);
printf("vecf4.sum=%f\n",vecf4.sum(vecf4));
return ;
}

C语言实现类的更多相关文章

  1. SQL语言四大类

    SQL语言四大类   SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 数据查询语言DQL   数据查询语言DQL基本结构是由SELECT子句, ...

  2. R语言S3类的理解与构建

    R语言类 R语言的类有S3类和S4类,S3类用的比较广,创建简单粗糙但是灵活,而S4类比较精细,具有跟C++一样严格的结构.这里我们主要讲S3类. S3类的结构 S3类内部是一个list,append ...

  3. MVC框架入门准备(二) - 语言包类与工厂模式

    语言包类: 相关配置项 LANG_FOLDER : 语言包目录名,默认为Lang LANG_AUTO : 自动识别语言,默认为true DEFAULT_LANG : 默认语言,默认为zh-cn方法 取 ...

  4. css3 - 语言伪类选择器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  5. 【MySQL笔记】SQL语言四大类语言

     SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL.   1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句, ...

  6. Java 语言的类、属性、方法各有哪些修饰符?简述各修饰符的区别

    1. 类的修饰符分为:可访问控制符和非访问控制符两种. 可访问控制符是:公共类修饰符 public 非访问控制符有:抽象类修饰符 abstract :最终类修饰符 final 1.公共类修饰符 pub ...

  7. C语言-存储类&作用域&生命周期&链接属性

    1.概念解析(1)存储类 a.存储类就是存储类型,也就是描述C语言变量在何种地方存储. b.内存有多种管理办法:栈.堆.数据段.bss段..text段......一个变量的存储类属性就是描述这个变量存 ...

  8. C#语言基础-类——string增加内容

    .split()    分离——属于string类            Console.Write("请输入姓名和学号(**-****):");            strin ...

  9. 对于c语言int类型和float,以及double类型表示范围的计算

    首先说一下我原来错误的认识 int是32个bit, 如果我们把第一位理解为符号位,那么很显然int的范围是-(2^31-1)~2^31-1 但是实际上我们都知道int的最小值是-2^31次.. 为什么 ...

  10. OC语言-01类和对象

    // cc 文件名.m -framework Foundation 编译链接 #import <Foundation/Foundation.h> //枚举性别 typedef enum{ ...

随机推荐

  1. Robot Framework(11)- 用户关键字的详解

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 什么是用户关键字 ...

  2. Java中的集合(十三) 实现Map接口的Hashtable

    Java中的集合(十三) 实现Map接口的Hashtable 一.Hashtable简介 和HashMap一样,Hashtable采用“拉链法”实现一个哈希表,它存储的内容是键值对(key-value ...

  3. JSP指令 & 中文乱码问题

    1. JSP 指令: JSP指令(directive)是为JSP引擎而设计的,     它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的其余部分. 2. 在JSP 2.0中,定义了 ...

  4. 关于使用npm成功安装命令后,执行时却报找不到命令的问题

    # 使用npm安装newman命令 ~$ npm install newman --global ... /root/node-v6.9.1-linux-x64/bin/newman -> /r ...

  5. Chisel3 - model - IO ports

    https://mp.weixin.qq.com/s/fgCvIFt0RdEajhJVSy125w   介绍模块的输入输出端口的定义与管理.     1. _ports   1) 模块的输入输出端口, ...

  6. Java实现 LeetCode 402 移掉K位数字

    402. 移掉K位数字 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示 ...

  7. Java实现 LeetCode 144 二叉树的前序遍历

    144. 二叉树的前序遍历 给定一个二叉树,返回它的 前序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] /** * Definition for a ...

  8. Java实现 蓝桥杯VIP 算法提高 三角形面积

    算法提高 三角形面积 时间限制:1.0s 内存限制:256.0MB 问题描述 由三角形的三边长,求其面积. 提示:由三角形的三边a,b,c求面积可以用如下的公式: s=(a+b+c)/2 输入格式 由 ...

  9. java 实现 蓝桥杯 算法提高 排列数

    问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下: 012.021.102.120.201.210 输入一个数n 求0~9十个数的全排列中的第n个(第1个为0123456789). 输入 ...

  10. java实现SPFA算法

    1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其 ...