扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
函数返回值类型由函数头部的返回值类型决定
作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。创新互联提供从前期的网站品牌分析策划、网站设计、成都网站设计、网站制作、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。
例如
函数头部为int f(),这样的话,返回值类型为int型;又如头部为double f()的话,返回值类型为double型;头部为char *f()的话,返回值为char *,即指向char的指针
特别的,如果函数头部没有显示的说明返回值类型,则在C中一般是默认当作返回int型,如f(),则返回值类型为int型
在c语言中用没有函数判定一个变量的类型,可以使用sizeof来判断变量大小。
示例:
#include stdio.h
#include stdlib.h
int main(int argc,char **argv) //主程序
{
//对C语言内置类型的所占字节数的测试
printf("size of char is: %d\n",sizeof(char)); //字符型数据所占字节数 、
printf("size of short is: %d\n",sizeof(short)); //短整形数据所占字节数
printf("size of int is: %d\n",sizeof(int )); //整形数据
printf("size of short int is: %d\n",sizeof(short int)); //短整形
printf("size of long int is: %d\n",sizeof(long int)); //长整形数据
printf("size of float is: %d\n",sizeof(float)); //浮点型数据
printf("size of double is: %d\n",sizeof(double)); //双精度数据
//对字符及字符串数组所占字节数的测量
char a[] ={'a','b','c','d','e'};
printf("size of a[] is: %d\n",sizeof(a)); //输出数组a[]所占字节数
char b[]={"abcde"}; //初始化字符串b
printf("size of b[] is: %d\n",sizeof(b)); //数组b[]
char c[][3]={{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'}}; //初始化二维字符型数组
printf("size of c[][] is: %d\n",sizeof(c)); //二维数组c所占字节数
printf("size of c[0] is: %d\n",sizeof(c[0])); //二维数组中的某行所占的字节数,例如第0行
printf("size of c[0][0] is: %d\n",sizeof(c[0][0])); //某行某个元素,例如第0行第0个元素
//对指针所占字节数的测量
char *p=0;
printf("size of *p is: %d\n",sizeof(p)); //字符型指针
system("pause");
return 0;
}
扩展资料
使用sizeof()计算数组长度
将sizeof用于 expr是并没有计算expr的值。特别是在sizeof *p中,指针p可以是一个无效地址,因为不需要对p做解引用操作。
对char类型或值为char类型的表达式做sizeof操作结果为1。对引用类型做sizeof操作,将返回存放此引用类型对象所需的内存空间大小。
对指针做sizeof操作,将返回存放指针所需的内存大小,注意,如果要获取该指针指向对象的大小,则必须对该指针进行解引用。对数组做sizeof操作等效于对其元素做sizeof操作的结果乘上数组元素的个数。
因为sizeof返回整个数组在内存中的存储长度,所以用sizeof数组的结果初一sizeof其元素类型的结果,即可求出数组元素的个数:int sz = sizeof(ia)/sizeof(*ia);
通常将8位的块作为一个字节,32位或4个字节作为一个 “字”。一般的short为半个机器字长,int为一个机器字长。
函数的返回类型是在函数声明的时候给出的,比方如下
int function1(int a, int b); //两个函数的声明
float function2(float a, float b);
main(){ //主函数
int x=8, y=9, z;
float u=3.5, v=2.5, w;
z=function1(x,y);
w=function2(u,v);
}
int function1(int a, int b){ //两个函数的定义
int c;
c=a+b;
return c; //函数返回值必须与函数之前的数据类型一致, 此处c和function1都是int
}
float function2(float a, float b){
float c;
c=a*b;
return c; //函数返回值必须与函数之前的数据类型一致, 此处c和function2都是float
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流