相关疑难解决方法(0)

C中的函数指针如何工作?

我最近在C中使用了函数指针.

继续回答你自己的问题的传统,我决定对那些需要快速深入研究这个主题的人进行一些基本的总结.

c function-pointers

1170
推荐指数
10
解决办法
77万
查看次数

你能用C编写面向对象的代码吗?

你能用C编写面向对象的代码吗?特别是关于多态性.


另请参阅堆栈溢出问题C中的面向对象问题.

c oop object

481
推荐指数
19
解决办法
28万
查看次数

你如何在C中实现一个类?

假设我必须使用C(没有C++或面向对象的编译器)并且我没有动态内存分配,我可以使用哪些技术来实现类,或者类的良好近似?将"类"隔离到单独的文件中总是一个好主意吗?假设我们可以通过假定固定数量的实例来预分配内存,或者甚至在编译时将每个对象的引用定义为常量.随意假设我将需要实施哪个OOP概念(它会有所不同)并为每个概念提出最佳方法.

限制:

  • 我必须使用C而不是OOP,因为我正在编写嵌入式系统的代码,编译器和预先存在的代码库位于C语言中.
  • 没有动态内存分配,因为我们没有足够的内存来合理地假设如果我们开始动态分配它就不会用完.
  • 我们使用的编译器没有函数指针的问题

c oop embedded class

131
推荐指数
6
解决办法
14万
查看次数

如何在C中模拟OO风格的多态?

有没有办法在C编程语言中编写类似OO的代码?


也可以看看:

通过搜索"[c] oo"找到.

c oop polymorphism

68
推荐指数
5
解决办法
4万
查看次数

在C中扩展结构

我最近遇到了一个同事的代码,看起来像这样:

typedef struct A {
  int x;
}A;

typedef struct B {
  A a;
  int d;
}B;

void fn(){
  B *b;
  ((A*)b)->x = 10;
}
Run Code Online (Sandbox Code Playgroud)

他的解释是,因为它struct A是第一个成员struct B,所以b->xb->a.x提供更好的可读性.
这是有道理的,但这被认为是好的做法吗?这会跨平台工作吗?目前这在GCC上运行良好.

c struct

61
推荐指数
6
解决办法
5337
查看次数

用于学习C程序设计的资源

来自OO背景(C#/ java)我正在寻找资源来学习如何很好地设计纯C程序.

虽然我熟悉C的语法,并且我可以编写小程序,但我不确定采用更大应用程序的方法,以及采用何种技术.你们可以推荐的任何东西.

编辑:我很高兴完全放弃OO用于C语言编程,我的兴趣是学习如何在没有OO的情况下构建程序,我想学习用C等过程语言设计程序的好方法.

c

51
推荐指数
2
解决办法
1万
查看次数

如何使用C建模继承?

是否可以使用C建模继承?怎么样?示例代码将有所帮助.

编辑:我希望继承数据和方法.仅靠集装箱船无济于事.可替代性 - 使用基类对象工作的任何派生类对象 - 是我所需要的.

c oop inheritance

45
推荐指数
4
解决办法
4万
查看次数

学习GObject和Glib的材料

我很舒服C.但需要学习GObjectGlib进行gstreamer.我在网上找到的只是Gobject参考手册.它很好,但寻找Gobject/Glib的教程,主要关注gstreamer.

所以请分享任何其他资源来学习滑稽和gobject.

c gnome gobject glib gstreamer

43
推荐指数
5
解决办法
2万
查看次数

C编程语言是面向对象的吗?

我正在与一位同事谈论C和C++,他声称C是面向对象的,但我声称它不是.我知道你可以在C中做类似面向对象的事情,但C++是一种真正的面向对象语言.

你的想法是什么?

此外,它引发了关于谁决定面向对象意味着什么的讨论,并且很难说出面向对象的真正意义.你对此有何看法?

c oop standards

42
推荐指数
5
解决办法
8万
查看次数

纯C(非C++)的编码标准

我来自java背景(来自我的CS课程)和一个学期的C++.我刚刚为我的Co-Op完成了一个纯C的OpenCV项目,所以我提问这个问题有点晚了.

纯C的设计流程和编码标准是什么?

我熟悉面向对象的编程,设计和最佳实践.我只是在像C这样的非面向对象语言上有点不知所措.每个变量和函数似乎都是全局的.这让我感觉真的很乱.

c coding-style

31
推荐指数
4
解决办法
3万
查看次数