c 中INT和INT返回有什麼區別具體點啊

2021-06-25 14:42:55 字數 5738 閱讀 8787

1樓:匿名使用者

c語言系列都是 case sensitive (區分大小寫)的,不知道你到底是問int還是int

一,如果你問的是int

int是宣告整形變數的keyword

int &是別名,一般用在函式的 list of parameter 中,表示對int型變數的引用, 如

returntype method(int &a,int &b);

還有下面的情況

int a = 15;

int &b=a; 既a與b指向同一個變數,指向同一個記憶體地址, 對a 和b進行任何操作的結果都相同

二,如果你問的是int

int 估計是個macro ( #define int int) 其實就是int

int & 同上

2樓:匿名使用者

返回int 其實返回的是一個不可修改臨時的副本返回int& 返回的是函式裡面那個實際的變數 如果你的返回進行修改(當然你不能對返回賦值給其他變數過 除非是引用) 那會反應到函式裡面

#include

using namespace std;

int &fun1(int &b)

int fun2(int &b)

int main(void)

3樓:匿名使用者

int 型別返回的是資料值

int &型別返回的是資料的記憶體地址

4樓:匿名使用者

int max(int a, int b) //返回的是值

int &max(int &a, int &b) //返回的是實參的引用,就是實參本身

c語言中void什麼意思?具體怎麼用?

5樓:楓璽

void的字面意思是“無型別”,void *則為“無型別指標”,void *可以指向任何型別的資料。void只有“註釋”和限制程式的作用。void的作用在於對函式返回的限定和對函式引數的限定。

例如:float *p1;int *p2;p1 = p2;

其中p1 = p2語句會編譯出錯,提示“'=' : cannot convert from 'int *' to 'float *'”,必須改為:p1 = (float *)p2;

而void *則不同,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換:

void *p1;int *p2;p1 = p2;

擴充套件資料

void型別在c開發中常見的用法有2種:

1、作為函式的返回值,如void add(int x,int y);  表示該函式吳返回型別,不需要返回值。

2、使用void*指標來使用,比如作為函式的引數型別,如: int max(void* param);  -->此時的void*表示可以使用任何型別的引數進行轉換。如

int a = 10;   //普通型別

max((int)&a);

typedef structstr;  //結構體

str s1 ;

s1.a = 2;

max((str)&s1);

6樓:匿名使用者

void是是c語言的一個關鍵字,其含義為空。

在c語言中,單獨的void有兩種用途,均用於函式中。

1 用於函式返回值。

形式為void func_name(...);

代表函式沒有返回值。在這樣的函式中,呼叫return語句時,不需要也不可以有引數。

注意,寫成

func_nmae(...);

的形式,在部分編譯器中可以編譯成功,但並不是沒有返回值,而是有一個預設的整型(int)返回值的意思。

2 用於函式引數列表。

當函式沒有引數時,需要定義為

*** func_name(void);

的形式,表示本函式不需要任何引數。

注意,如果寫成

*** func_name();

的形式,與void不同,不是沒有引數,而是函式引數不定,可以接收任何長度的引數。

7樓:半清醒丶不言語

void的意思就是

1) 對函式返回的限定;

2) 對函式引數的限定。

無返回值函式:此類函式用於完成某項特定的處理任務,執行完後不向呼叫者返回執行結果,這類函式類似於其他語言的過程;由於函式無返回值,使用者在定義此類函式時可指定其函式返回值為“空型別”,說明符號為“void”(注意空型別的說明符不可省,不然系統會預設返回值為int型)

先給一個例子 定義函式

返回值 函式名(引數1,引數2,引數3,.......)

{內容}

int sum(int a,int b){

int c;

return c;

}其中第一個int是返回值 就是別的函式呼叫此函式時這個函式給他的一個值。

如果呼叫時不需要返回值,則函式寫為

void sum(int a,int b){....} 此時函式沒有返回值

如果不需要引數 則int sum(void){...}

此時void的意義為空,就是沒有引數的意思

如果都不要 則為void sum(void);

拓展資料:

中文翻譯為“無型別”。常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

void的字面意思是“無型別”,void *則為“無型別指標”,void *可以指向任何型別的資料。

8樓:匿名使用者

.void的含義

void的字面意思是“無型別”,void *則為“無型別指標”,void *可以指向任何型別的資料。

void幾乎只有“註釋”和限制程式的作用,因為從來沒有人會定義一個void變數,讓我們試著來定義:

void a;

這行語句編譯時會出錯,提示“illegal use of type 'void'”。不過,即使void a的編譯不會出錯,它也沒有任何實際意義。

void真正發揮的作用在於:

(1) 對函式返回的限定;

(2) 對函式引數的限定。

我們將在第三節對以上二點進行具體說明。

眾所周知,如果指標p1和p2的型別相同,那麼我們可以直接在p1和p2間互相賦值;如果p1和p2指向不同的資料型別,則必須使用強制型別

轉換運算子把賦值運算子右邊的指標型別轉換為左邊指標的型別。

其中p1 = p2語句會編譯出錯,提示“'=' : cannot convert from 'int *' to 'float *'”,必須改為:

p1 = (float *)p2;

而void *則不同,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換:

void *p1;

int *p2;

p1 = p2;

但這並不意味著,void *也可以無需強制型別轉換地賦給其它型別的指標。因為“無型別”可以包容“有型別”,而“有型別”則不能包。

容“無型別”。道理很簡單,我們可以說“男人和女人都是人”,但不能說“人是男人”或者“人是女人”。下面的語句編譯出錯:

void *p1;

int *p2;

p2 = p1;

提示“'=' : cannot convert from 'void *' to 'int *'”。

3.void的使用

下面給出void關鍵字的使用規則:

2 + 3 = 5

這說明不加返回值說明的函式的確為int函式。

補充:void 中文翻譯為"無型別"。常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

void的字面意思是"無型別",void *則為"無型別指標",void *可以指向任何型別的資料。

在c語言中,凡不加返回值型別限定的函式,就會被編譯器作為返回整型值處理。但是許多程式設計師卻誤以為其為void型別。

9樓:匿名使用者

void 被翻譯為"無型別",相應的void * 為"無型別指標"。常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

void 的作用

1.對函式返回的限定,這種情況我們比較常見。

2.對函式引數的限定,這種情況也是比較常見的。

一般我們常見的就是這兩種情況:

(1)當函式不需要返回值值時,必須使用void限定,這就是我們所說的第一種情況。例如:void func(int a,char *b)。

(2)0當函式不允許接受引數時,必須使用void限定,這就是我們所說的第二種情況。例如:int func(void)。

10樓:江南哦啦啦

void的作用:對函式返回的限定,對函式引數的限定。

void main()函式返回空白型別值,就是無返回值 ,main();

main()省略前邊主函式型別相當於返回值是int型別的,即int main()。

拓展資料在最新的c99標準中只有int main(void)和int main(int argc,char **argv)兩種是正確的,也是就是不可以用void和省略int。

11樓:__razer丶

中文翻譯為"無型別"。又名“空函式”

常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

void的字面意思是"無型別",void *則為"無型別指標",void *可以指向任何型別的資料。

12樓:哇哎西西

void常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。代表任意型別,而不是空的意思。

void * 是void型別的指標。

void型別的指標的含義是:這是一個指標變數,該指標指向一個 void型別的數。在函式的引數列表和返回值中,void代表的含義是:

一個函式形參列表為void,表示這個函式呼叫時不需要給它傳參。

返回值型別是void,表示這個函式不會返回一個有意義的返回值。

13樓:du瓶邪

函式前加void是表示函式的

返回值為空,void表示空

返回值為空表示此函式可以沒有return語句,或者使用return;語句

返回值概念:一個函式的函式名既是該函式的代表,也是一個變數。由於函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把函式名變數稱為返回值。

通俗點來說就是函式執行完畢後得到的結果。

返回值的型別可以有很多 void、bool 、int 、以及自定義的型別等等。

14樓:匿名使用者

c語言中的void 基本上就是兩個意思:

無,沒有

任意型別

這兩個意思,與void出現的**位置和修飾變數相關:

函式返回值位置,如:

void func(int i) ;  //表示func()函式沒有返回值,void不可省

函式引數位置,如:

void func( void ) ;  //表示func()函式即沒有返回值,也沒有引數。這裡括號中的void可省。

修飾指標變數(一般多用於函式引數)

int func( void *a, void *b) ; //表示形參a b可以是任意型別指標變數

修飾常量(一般用於巨集定義)

#define null  ((void*)0)      //這裡null從數值上講就是0,但這樣寫,可以表明null是個(任意)指標型別資料

C中定義函式void與int,在呼叫時的區別

前面加bai 有void 的函式,不能返回 du任何資料,zhireturn語句不能使用,這類函式dao應該將內所有應該實現的容功能在本函式內全部實現。但是並不是不能與外部交換資料,仍然可以通過引用型引數傳遞資料,只是呼叫時不能直接接受返回值,因為就沒有返回值。前面有int的函式,返回值是整型數,可...

c語言int和longint問題

在c語言中,int即整型型別,long int等同於long,為長整型型別。二者區別與 內編譯器相容關。1 16位編譯器。int佔2位元組,範圍為 32768 32767 long int佔4位元組,範圍為 2147483648 2147483647 2 32位編譯器。int 和long均佔4位元組...

C裡返回值為int型別陣列的函式如何定義

int 實際上是乙個類,它的基類是array.實際上,所有的陣列型別都是類,而且基類是array.int arr new int 10 實際上是建立了int這種型別的乙個物件,只是微軟為了讓大家習慣,就使用了類似c 的陣列定義方式。你的補充問題是不是這個意思 arr randques randque...