c语言函数不能返回变量 c语言为什么要返回函数值
C语言中,函数体可以返回一个变量吗
可以的
10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有金湖免费网站建设让你可以放心的选择与我们合作。
int
foo()
{
int
a
=
0;
return
a;//这里的a
是定义了的就行,不一定只能写成
return
0;这种
}
c语言中,如果要函数不返回值,则应把函数的类型定义为
C语言中,如果要函数不返回值,则应该吧函数的类型定义为“void”。
在将函数定义为void类型的情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
扩展资料:
void类型指针要注意规则:
1、void 指针是一种特殊的指针,表示为“无类型指针”,在 ANSI C 中使用它来代替“char*”作为通用指针的类型。由于 void 指针没有特定的类型,因此它可以指向任何类型的数据。
2、void*类型只有地址信息没有类型信息,所以不能计算偏移。
3、要将void指针赋值给其他类型的指针,必须进行强制类型转换。
4、在编程中,如果函数的参数可以是任意类型指针,那么应该使用 void 指针作为函数的形参,这样函数就可以接受任意数据类型的指针作为参数。
void使用注意:
1、如果函数没有返回值,那么应声明为void类型,在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。
2、如果函数无参数,那么应声明其参数为void。
3、void不能代表一个真实的变量
参考资料来源:百度百科-void
为什么C语言函数中可以返回局部变量而不能返回局部变量的指针??详解+深解
在C语言中,局部变量的作用域只在函数内部,在函数返回后,局部变量的内存就会被释放。如果函数只是返回局部变量,那么这个局部变量会被复制一份传回被调用处。但是如果函数返回的是局部变量的地址,那么就会报错,因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放,这样指针指向的内容就是不可预料的内容,程序就会出错。准确的来说,函数不能通过返回指向栈内存的指针(返回指向堆内存的指针是可以的)。
C语言字符串函数无法返回值是怎么回事
首先函数:char
strcat
(char
x[],char
y[])返回值是char型
你在函数中却返回char型指针。
其次for语句:for
(i
=
m;i
=
m
+
n;i
++)
m+n要大于x,y字符串的长度,可能会越界。
当前标题:c语言函数不能返回变量 c语言为什么要返回函数值
分享链接:http://myzitong.com/article/doohpdc.html