函數(shù)的返回類型是在函數(shù)聲明的時候給出的,比方如下
10多年的江門網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整江門建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“江門網(wǎng)站設計”,“江門網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
int function1(int a, int b); //兩個函數(shù)的聲明
float function2(float a, float b);
main(){ //主函數(shù)
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){ //兩個函數(shù)的定義
int c;
c=a+b;
return c; //函數(shù)返回值必須與函數(shù)之前的數(shù)據(jù)類型一致, 此處c和function1都是int
}
float function2(float a, float b){
float c;
c=a*b;
return c; //函數(shù)返回值必須與函數(shù)之前的數(shù)據(jù)類型一致, 此處c和function2都是float
}
函數(shù)返回值類型由函數(shù)頭部的返回值類型決定
例如
函數(shù)頭部為int f(),這樣的話,返回值類型為int型;又如頭部為double f()的話,返回值類型為double型;頭部為char *f()的話,返回值為char *,即指向char的指針
特別的,如果函數(shù)頭部沒有顯示的說明返回值類型,則在C中一般是默認當作返回int型,如f(),則返回值類型為int型
在c語言中用沒有函數(shù)判定一個變量的類型,可以使用sizeof來判斷變量大小。
示例:
#include stdio.h
#include stdlib.h
int main(int argc,char **argv)? ? ? ? ?//主程序
{
//對C語言內置類型的所占字節(jié)數(shù)的測試
printf("size of char is: %d\n",sizeof(char));? ? ? ?//字符型數(shù)據(jù)所占字節(jié)數(shù) 、
printf("size of short is: %d\n",sizeof(short));? ? ?//短整形數(shù)據(jù)所占字節(jié)數(shù)
printf("size of int is: %d\n",sizeof(int ));? ? ? ? //整形數(shù)據(jù)
printf("size of short int is: %d\n",sizeof(short int)); //短整形
printf("size of long int is: %d\n",sizeof(long int));? ? //長整形數(shù)據(jù)
printf("size of float is: %d\n",sizeof(float));? ? ? ? ? //浮點型數(shù)據(jù)
printf("size of double is: %d\n",sizeof(double));? ? ? ? //雙精度數(shù)據(jù)
//對字符及字符串數(shù)組所占字節(jié)數(shù)的測量
char a[] ={'a','b','c','d','e'};
printf("size of a[] is: %d\n",sizeof(a));? ? ? ? ? ? ? ?//輸出數(shù)組a[]所占字節(jié)數(shù)
char b[]={"abcde"};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化字符串b
printf("size of b[] is: %d\n",sizeof(b));? ? ? ? ? ? ? ?//數(shù)組b[]
char c[][3]={{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'}};? //初始化二維字符型數(shù)組
printf("size of c[][] is: %d\n",sizeof(c));? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//二維數(shù)組c所占字節(jié)數(shù)
printf("size of c[0] is: %d\n",sizeof(c[0]));? ? ? ? ? ? ? ? ? ? ? ? ? ?//二維數(shù)組中的某行所占的字節(jié)數(shù),例如第0行
printf("size of c[0][0] is: %d\n",sizeof(c[0][0]));? ? ? ? ? ? ? ? ? ? ?//某行某個元素,例如第0行第0個元素
//對指針所占字節(jié)數(shù)的測量
char *p=0;
printf("size of *p is: %d\n",sizeof(p));? ? ? ? ? ? ? ? ? ? ? ?//字符型指針
system("pause");
return 0;
}
擴展資料
使用sizeof()計算數(shù)組長度
將sizeof用于 expr是并沒有計算expr的值。特別是在sizeof *p中,指針p可以是一個無效地址,因為不需要對p做解引用操作。
對char類型或值為char類型的表達式做sizeof操作結果為1。對引用類型做sizeof操作,將返回存放此引用類型對象所需的內存空間大小。
對指針做sizeof操作,將返回存放指針所需的內存大小,注意,如果要獲取該指針指向對象的大小,則必須對該指針進行解引用。對數(shù)組做sizeof操作等效于對其元素做sizeof操作的結果乘上數(shù)組元素的個數(shù)。
因為sizeof返回整個數(shù)組在內存中的存儲長度,所以用sizeof數(shù)組的結果初一sizeof其元素類型的結果,即可求出數(shù)組元素的個數(shù):int sz = sizeof(ia)/sizeof(*ia);
通常將8位的塊作為一個字節(jié),32位或4個字節(jié)作為一個 “字”。一般的short為半個機器字長,int為一個機器字長。
無返回值需聲明(void),否則在定義函數(shù)的時候需說明返回值類型(如intmain()),在有返回值的函數(shù)中必然存在return語句,。如果不需要返回值,可用return-1;
是由你定義函數(shù)時所定義的函數(shù)的類型決定的。
也就是說函數(shù)是什么類型,返回值就是什么類型。
比如:
函數(shù)定義? int fun(int a,char b)。
返回值就是整型。
函數(shù)定義? int *fun(int a)。
返回值就是基類型為整型的指針。
函數(shù)定義? void fun(int a)。
無返回值。
簡介
在調用函數(shù)時,如果需要從被調函數(shù)返回一個值供主調函數(shù)使用,那么返回值類型必須定義成非 void 型。此時被調函數(shù)中必須包含 return 語句,而且 return 后面必須要有返回值,否則就是語法錯誤。
一個函數(shù)中可以有多個 return 語句,但并不是所有的 return 語句都起作用。執(zhí)行到哪個 return 語句,就是哪個 return 語句起作用,該 return 語句后的其他語句都不會執(zhí)行。