作为C++程序员,我们必须在将它们实现到类之前处理概念和相关概念的关系.
但是,如何用C等程序语言设计软件呢?如何在没有C++类的帮助下处理概念.
有关:
我成为了面向对象代码时代的专业程序员,并且拥有多年用C++编程的经验.我经常处理具有多年遗留代码的大型项目,这些代码混合了c ++和c.我觉得在纯c部分系统上工作不太舒服.从C++编程我理解所有的c语法,但是我知道如何组织一个没有对象的复杂c程序,以及构成我想要填充的内存的最佳实践.我作为一个java程序员工作后学习了c ++,并且认为更多的c会让我成为一个更好的c ++程序员,并且将一点点的java翻译成c ++程序员
我只需要在C中编码几次,而且每次我都这样做,它就变成了一些无法管理的野兽.
我已经在C#和.Net中完成了大部分的编程,因此我非常习惯于类风格的体系结构,但我似乎无法掌握C语言应用程序中的组织.我应该把函数定义放在一个文件中,将函数定义放在一个文件中,然后在另一个文件中处理,等等.这个主题有没有什么好的资源?
另请参阅:从面向对象的土地中挣扎?
我知道一些更高级的语言,所有基于Web(PHP,javascript,一些python).我终于决定学习一门低级语言了,我决定和C一起去.问题是我使用的所有语言都是基于OOP.看作(基于我所做的研究)C没有类或继承.因此,我问你:我应该如何以有组织的方式在O中组织我的代码,而不必切换语言或只是拥有无穷无尽的函数文件?
从未来编辑:这个问题非常愚蠢地回顾它.我15岁,在我的学校没有CS ......
假设我在C中有以下代码表示堆栈:
#define MAX 1000
int arr[MAX];
static int counter = 0;
isstackempty()
{
return counter <= 0;
}
void push(int n)
{
if (counter >= MAX) {
printf("Stack is full. Couldn't push %d", n);
return;
}
arr[counter++] = n;
}
int pop(int* n)
{
if(isstackempty() || n == 0) {
printf("Stack is empty\n");
return 0;
}
*n = arr[--counter];
return 1;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在一个stack.c
文件中,函数原型在一个头文件中.
现在,来自C#和OO背景,如果我想要stack
在我的应用程序中分离s,在OO语言中我将创建两个实例.但是在C中,你如何处理这种情况?
假设我想stack
在我的C代码中使用两个单独的s ...使用上面的代码,我将如何处理它?