0 0

关于C的OO编程,如何创建实例出来?15

关于OOC(面向对象C编程),
看了一些别人的文章,有一点是确定的,就是利用C的结构体,来实现Java或者C++中类的功能,
但是如何用一个定义好的结构体,方便的创建出多个实例,以及随时赋值、传值?
-
比如目前要实现一个二叉树,用Java可以每次new一个节点,插入现有的树中,
在C中,如何实现?
据我目前了解,结构体赋值有很多限制,好像只可以在定义的时候赋值?
那我定义一个结构体,只能定义的同时赋值一次?
而我目前想做的是,定义一个结构体(比如树节点node),
用这个结构体(struct node)创建几十几百个实例出来,然后形成一棵树?
请问在C中怎么做?
-
我是C新手,Java用惯了,如果问题幼稚请包涵,谢谢!
C 
2011年5月25日 15:01

3个答案 按时间排序 按投票排序

0 0

采纳的答案

#include <malloc.h>

typedef struct
{
	int data1;
	int data2;
}Node, *Pointer;

void construct(Pointer pNode,int para1,int para2)
{
	pNode->data1=para1;
	pNode->data2=para2;
}

void main()
{  
	Pointer node1= (Pointer)malloc(sizeof(Node));
	
	free(node1);//用完要释放
}

2011年5月25日 15:32
0 0

大体情况就是这个样子的,结构体的操作函数必须多一个指针参数了(没有this)。
要手动释放资源

2011年5月25日 15:23
0 0

typedef struct  
{
	int data1;
	int data2;
}Node;

Node *node1=new Node;
void construct(Node *node,int para1,int para2)
{
	node->data1=para1;
	node->data2=para2;
}
delete node1;//用完要释放

2011年5月25日 15:22

相关推荐

    SAP_ABAP_OO面向对象入门实例

    ### SAP_ABAP_OO面向对象入门实例 #### 知识点一:面向对象的基本概念与应用 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它使用“对象”来设计软件。在OOP中,对象是数据(属性)以及可以...

    C语言面向对象编程C语言面向对象编程.docx

    ### C语言中的面向对象编程 #### C的面向对象概念 在传统的认知中,面向对象编程(OOP)似乎天然地与C++、Java等语言紧密相连,而C语言因其较为简单的特性,往往被视为一种过程化的编程语言。然而,实际上C语言也能...

    实战SAP程序开发-从实例学ABAP编程.rar

    在“实战SAP程序开发-从实例学ABAP编程”这本书中,你可以深入学习到ABAP的核心概念、语法以及实际应用技巧。下面将详细阐述ABAP的相关知识点。 1. ABAP基础: - 数据类型:ABAP提供了丰富的内置数据类型,如I...

    C语言面向对象编程[定义].pdf

    C语言面向对象编程是一种利用面向对象编程思想在C语言中实现类和对象的概念。虽然C语言本身并不直接支持面向对象特性,如类、继承和多态,但通过巧妙地使用结构体(struct)、指针和函数等基本元素,开发者可以模拟出...

    面向对象的标准C编程.pdf

    标准C编程,即使用ANSI(美国国家标准协会)制定的C语言标准,虽然最初并非设计为面向对象的语言,但通过一些技巧和库的支持,如GObject系统或GNU的OO扩展,可以实现面向对象的概念。 在《面向对象的标准C编程》这...

    C语言面向对象编程(doc格式,非英文翻译版)

    【C语言面向对象编程】 C语言虽然不具备内置的面向对象编程(Object-Oriented Programming, OOP)特性,如类(class)、继承(inheritance)和多态(polymorphism),但通过巧妙的设计和编程技巧,可以模拟实现OOP...

    matlab面向对象编程.pdf

    面向对象编程(OO)在软件开发中运用了识别模式和定义分类系统的标准科学与工程实践。分类系统和设计模式使工程师和科学家能够理解复杂系统,并通过重用他人的工作来提高效率。通过将分类系统和设计模式应用于编程,...

    OO面向对象测试代码

    本资源提供的“OO面向对象测试代码”可能是为了帮助初学者或开发者了解和实践面向对象编程在C语言中的实现,因为C语言本身并不直接支持面向对象,但可以通过模拟面向对象概念来实现。 在C语言中,面向对象的实现...

    TCL脚本语言编程_tcl_TCL校本编程_

    此外,TCL支持面向对象编程,通过`oo::object`和`oo::class`等命令可以创建和操作对象。 在GUI开发方面,TCL与Tk库结合,可以创建丰富的图形用户界面。Tk提供了各种控件,如按钮、文本框、列表框等,以及布局管理器...

    OO命令解析器-工程源码.rar

    C语言虽然以过程性编程为主,但通过巧妙的设计,同样可以实现面向对象的编程思想。 1. **对象化设计基础** - 在C语言中,我们通常使用结构体来模拟类,并通过函数指针实现方法。这里,我们可以定义一个`Command`...

    C语言的面向对象编程(一)

    在C语言中实现面向对象编程,通常需要自定义初始化函数(如`oo_test_init`),用于创建和初始化结构体实例。同时,为了隐藏内部实现细节,可以使用局部静态变量或全局变量(虽然全局变量通常应避免使用,因为它可能...

    COEN79-OO编程:包括C ++中的各种作业和项目

    在本课程"COEN79-OO编程"中,我们将深入探讨面向对象编程(Object-Oriented Programming,简称OOP)的核心概念,特别是在C++语言中的应用。C++是一种强大的、通用的编程语言,它结合了过程化编程的效率与面向对象...

    类的创建及使用/面向对象编程

    面向对象编程是现代软件开发中的核心概念,尤其在SAP系统中,类的创建和使用是构建高效、可维护的应用程序的关键。SAP类的概念自R/3 4.0版本引入以来,使得ABAP(Advanced Business Application Programming)语言...

    Lua编程语言详细介绍与实例(PPT)

    1. How Lua works with C/C++ (36 pages + 4个示例程序) 2. Important concepts in Lua (46 pages: module and package, function and closure, metatable and metamethod, OO) 3. Basic in Lua (37 pages: 介绍Lua...

    面向对象语言C++编程语言课件

    C++是面向对象编程的一种强大而灵活的语言,由Bjarne Stroustrup在C语言的基础上发展而来,具有丰富的库支持和高性能。 1. **类与对象**: - 类是对象的蓝图,定义了对象的属性(数据成员)和行为(成员函数)。在...

    oo_snmp—封装好的snmp包

    1. **Get操作**:通过SNMP GET请求,oo_snmp库允许开发者获取网络设备上的特定对象实例的值。这些对象通常与MIB中的节点对应,如接口状态、流量统计等。 2. **Set操作**:除了获取信息,oo_snmp也支持SNMP SET操作...

    用C实现面向对象的技术 OO_techniques_in_C.pdf

    在C语言中实现面向对象的技术虽然并不常见,但在嵌入式系统和底层开发(如内核开发)中仍然具有重要意义。许多Linux内核子系统就采用了类似的策略。对于那些在资源有限的微控制器上工作,并且只能使用芯片制造商提供...

    ANSI-C实现面向对象 英文原著翻译

    书中通过一系列实例展示了如何在ANSI-C中实现面向对象编程。例如: 1. **链表的封装**:通过定义链表节点的结构体和一组用于操作链表的函数,实现了链表的封装。这些函数包括插入节点、删除节点等操作。 2. **模拟...

    Java OO 试题.doc

    Java面向对象编程(Java Object-Oriented Programming,简称Java OO)是Java编程语言的核心特性,它基于类和对象的概念,提供了封装、继承、多态等关键功能,使得代码更加模块化和可重用。 1. **字节码**: Java源代码...

Global site tag (gtag.js) - Google Analytics