程序猿之---C语言细节27(函数无参数时细节、函数默认返回int型证明、return默认还回值、void指针++操作)
2014-11-23 17:41
405 查看
主要内容:函数无参数时细节、函数默认返回int型证明、return默认还回值、void指针++操作
一、函数无参数时细节函数无参数时应该加上void
在c语言中一个函数
void f();
在使用时传递参数f(2);没有报错,而在c++中则会报错
最好加上void来明确函数是无参数的
二、函数默认返回类型为int型
见下面程序
三、return默认返回1
细节:return不可返回执行栈内存中的指针,因为该内存在函数体结束时自动销毁
四、void 指针++操作
void *p;
p++; //在ANSI编译中错误、在GNU编译器中p++和char*一致
#include <stdio.h>
a()
{
return 3;
//return ; //直接写成这个形式默认是返回 1 的
}
b(int a, int b)
{
return a+b;
}
int main()
{
printf("func a return = %d\n",a(2)); // 函数无参数应申明为void,在c中不声明传了参数没有报错,在C++就会报错,所以无论C/C++,函数无参数就申明为void
printf("func b retunr = %d\n",b(300,5000)); // 此处说明函数无返回类型,默认返回int型
printf("-------------------------\n");
void *p;
p++;// 使用编译器gcc、mingw5编译通过(即GNU),它们认为p++为char*类型的,使用VC6.0编译错误(即ANSI)
return 0;
}输出:
相关文章推荐
- 程序猿之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小)
- C++那些细节--函数的默认参数
- 程序猿之---C语言细节1(==与=、函数指针、数组字符串printf、int ((b));、char b =‘abcd’)
- C语言 函数默认参数
- 用C语言编写一个函数返回参数二进制中 1 的个数(3种方法)(谷歌笔试题)
- 我用C语言 写一个函数返回参数二进制中 1 的个数的三种不同方法
- 在C语言中模拟含有默认参数的函数
- C语言中写一个函数返回参数二进制中 1 的个数
- C语言中写一个函数返回参数二进制中 1 的个数
- 用C语言写一个函数返回参数二进制中1的个数
- 关于对于C语言中主函数参数接返回值的理解
- 程序猿之---C语言细节6(数组参数、数组越界、编译器内存分配)
- c语言 函数返回二位数组 函数参数为二维数组
- 写一个函数,输入int型,返回整数逆序后的字符串。如:输入123,返回“321”。 要求必须用递归,不能用全局变量,输入必须是一个参数,必须返回字符串
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- C语言可变长参数函数与默认参数提升(转)
- C语言学习9: malloc动态内存存储,动态内存分配去空格字符增长版,动态内存分配去符号incr增长版,型参和返回值都是int型的函数的指针,main函数的地址也可以用指针指向,typedef定义函数指针,函数定义与嵌套的作用,返回函数指针类型,const作用
- 程序猿之---C语言细节8(函数参数传递、声明)
- 【C语言】编写一个函数返回参数二进制中1的个数。
- 【c语言】 写一个函数返回参数二进制中 1 的个数