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 中的 int是什麼意思,C 中的 int 是什麼意思
鑄信 定義一個int型的指標 例如 int p 定義一個指向int型變數的指標char p1 定義一個指向char型變數的指標int p2 定義一個指向int型指標的指標,即指向指標的指標 修身養性 name本身是一個char 型的變數,就是一個指標,指向輸入的名字字串的首字元的地址。如果直接輸出n...
c命名規範中int以什麼開頭
你的意思是要設定一個int型的陣列變數吧,int a,這樣才對,int不能用作陣列名稱和變數名稱的。 int arrnnum 陣列字首 arr 1 變數名只能是字母 a z,a z 和數字 0 9 或者下劃線 組成。2 第一個字母必須是字母或者下劃線開頭。3 不能使用c 關鍵字來命名變數,以免衝突。...
求問c 程式此例中int和long long的區別
這是預設的型別提升引起的問題。第一個例子裡的表示式u i裡,long long的型別比unsigned 的型別大,所以這裡u會被轉換成long long,u i的結果就如輸出 第二個例子的表示式裡u i裡,u的型別比int大,所以i 42會轉換成unsigned。42轉換成無符號就是一個很大的值 4...