Tag: function

函数内部的函数声明 – 为什么?

我正在阅读“C语言编程”一书,并在第10章中找到了这样一个例子: #include void test (int *int_pointer) { *int_pointer = 100; } int main (void) { void test (int *int_pointer); int i = 50, *p = &i; printf (“Before the call to test i = %i\n”, i); test (p); printf (“After the call to test i = %i\n”, i); return 0; } 我理解这个例子,但我不理解行void test (int *int_pointer); […]

函数定义在另一个函数定义中:它是否有效?

看到这段代码 #include int main() { void test(void) { printf(“test”); return; } printf(“main”); return 0; } 这个男女同校工作得很好,并没有给出任何警告和错误。 我不知道为什么会这样? 我在其他函数定义中写了一个函数定义,所以它有效吗? 编辑:如果是,那么有任何用途吗? 为什么gcc需要添加这个function作为扩展..应该是这个的任何使用不是吗?!

这个奇怪的函数定义是什么意思?

我在博客文章中遇到了这个C程序: main() { int n; n = 151; f(n); } f(x) int x; { printf(“%d.\n”, x); } 这篇文章没有解释。 任何人都可以解释这个奇怪的函数定义意味着什么吗?

C函数调用目标C函数

我在viewController.m中使用了ac函数。 int abc(int a, char* b) { //do something } 我也有一个function -(void) callIncomingClass { UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //set the position of the button button.frame = CGRectMake(100, 170, 100, 30); //set the button’s title [button setTitle:@”Click Me!” forState:UIControlStateNormal]; //add the button to the view [self.view addSubview:button]; } 现在我想从函数abc中调用callIncomingClass 。 你怎么建议我去做? 为什么我想从C函数调用Objective C方法,我不能创建一个按钮或在C函数中进行类似的处理。 以下代码是否有效: int […]

为什么C标准不支持嵌套函数?

在assembly中实现它似乎不太难。 gcc还有一个标志(-fnested-functions)来启用它们。

为什么用于保存getchar的返回值的变量必须声明为int?

我是C编程语言的初学者,最近我研究了getchar函数,它将从控制台或文件接受一个字符,在键入时立即显示它 ,我们需要按Enter键继续。 它返回它们读取的unsigned char 。 如果遇到文件结束或错误,则getchar()函数返回EOF。 我的问题是,当它返回unsigned char ,为什么它的返回值存储在int变量中? 请帮我。

X,Y在C函数中传递数组的大小

我已经声明了我想要找到对角线[0] [0] …… [5] [5]和[0] [5] …… [5] [0]的最小值的函数。 我有算法但我的问题是实际的函数头。 我在为函数创建正式参数时遇到问题。 我知道我们必须将至少x[][this]大小的数组传递给函数,但我尝试了各种组合,甚至 double minimum(int size, double x[][size]){…} double minimum(double x[][int size]){…} 第一种情况在调用时出错: minimum(10, x[][10]) error: expected expression before ‘]’ token ` 第二种情况在函数声明中给出错误: error: expected expression before ‘int’ 有人可以告诉问题是什么(或问题是什么)?

正则表达式拉出C函数原型声明?

当谈到正则表达式时,我在学习曲线上的某个地方,我需要使用它们来自动修改一堆C头中的函数原型。 有没有人知道一个不错的正则表达式来查找C头中的任何和所有函数原型,同时排除其他所有内容? 编辑:最初不清楚的三件事: 我不关心C ++,只关心C.这意味着没有模板等担心。 该解决方案必须与typedef和structs一起使用,不仅限于基本的C类型。 这是一种一次性的事情。 它不需要漂亮。 只要它有效,我不在乎它有多大,但我不想要一个复杂的,难以实施的解决方案。

C中函数内部的函数

我正在制作一个与此类似的代码: #include double some_function( double x, double y) { double inner_function(double x) { // some code return x*x; } double z; z = inner_function(x); return z+y; } int main(void) { printf(“%f\n”, some_function(2.0, 4.0)); return 0; } 这在GCC中完美编译(没有警告)但无法在ICC中编译。 ICC给出: main.c(16): error: expected a “;” { ^ main.c(21): warning #12: parsing restarts here after previous syntax error […]

C函数调用:理解“隐式int”规则

如果“a function”是单独编译的,那么就不会检测到不匹配,“函数”会返回一个main,它将main视为一个int …根据我们所说的关于声明必须如何匹配定义的内容,这可能会似乎令人惊讶。 可能发生不匹配的原因是如果没有函数原型,则函数通过其在表达式中的第一次出现来隐式声明,例如 sum += “the function”(line); 如果先前未声明的名称出现在表达式中并且后跟左括号,则上下文将其声明为函数名称,假定该函数返回int,并且不假设其参数。 我事先为这个含糊不清的问题道歉,但这意味着什么? 顺便说一下,这是Brian W. Kernighan和Dennis M. Ritchie的C编程语言书第2版第73页第4.3章。