任何好的教程可以帮助我创建用于在 C、C++ 中随机化的头文件 [关闭]
Posted
技术标签:
【中文标题】任何好的教程可以帮助我创建用于在 C、C++ 中随机化的头文件 [关闭]【英文标题】:Any good tutorials to help me to create header files for randomizing in C, C++ [closed] 【发布时间】:2008-12-30 19:19:00 【问题描述】:我想为 C、C++ 创建一个头文件,专门用于帮助随机化。
【问题讨论】:
请详细说明您的问题。头文件将如何帮助您解决问题? 我不确定我是否理解您的问题。如果可以,您可能会发现阅读catb.org/~esr/faqs/smart-questions.html 会有所帮助 我的印象是英语不是这个人的第一语言,所以那些对他的问题投反对票的人可能想给他(或她)一点懈怠。 @kasperasky:请您澄清您的问题。您没有提供足够的信息让我们了解您的要求,当这种情况发生时,不耐烦的人会否决您。 【参考方案1】:头文件是 C 文件,除了它们不应包含任何代码实现(仅声明)。
例如,假设 C 文件“dummy.c”:
int dummy_function(int x)
return x+1;
一个好的 C 头文件应该是:
#ifndef _DUMMY_HEADER_H_
#define _DUMMY_HEADER_H_ //This helps solve some possible errors
int dummy_function(int x);
#endif
如果你使用结构作为参数(或返回值),你应该把它们的声明放在标题中。
typedef struct int value; myStruct;
int dummy_function(myStruct* x)
return (*x).value+1;
相反,你应该写
#include "dummy.h"
int dummy_function(myStruct* x)
return (*x).value+1;
并创建以下头文件:
#ifndef _DUMMY_HEADER_H_
#define _DUMMY_HEADER_H_
typedef struct int value; myStruct;
int dummy_function(myStruct* x);
#endif
一个好的头文件本身应该是有效的(包括它需要的所有'#include'语句)。
所以,如果你的代码是“double myRandom()”函数的实现,你应该写这个头文件:
#ifndef _HEADER_NAME_
#define _HEADER_NAME_
double myRandom(void); /* Can omit void in C++, but not in C */
#endif
如果这不是您的问题,那么请指定更好。
【讨论】:
我在函数声明(以及数据声明)上使用 extern,主要是为了两者之间的一致性。然后,任何不是 typedef(或枚举类型定义)或 extern 声明的东西都是可疑的。【参考方案2】:我仍然不确定我是否理解你的问题(我对你的问题发表了评论),但答案可能是这样的:
#include <stdlib.h> /* required for rand() and srand() */
如果您想调用 rand() 和 srand() 函数,这就是答案,它们是 C 标准库的一部分。例如,见http://www.google.com/search?q=srand
【讨论】:
random() 和 randomize() 都不是 C89 或 C99 中标准 C 库的一部分。标准函数是 rand() 和 srand()。 谢谢:我会相应地编辑我的帖子。【参考方案3】:尝试查看http://www.daniweb.com/forums/thread1769.html,卡巴斯基,看看它是否有助于您回答您的问题——或者至少问一个更具体的问题。
【讨论】:
以上是关于任何好的教程可以帮助我创建用于在 C、C++ 中随机化的头文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章