1樓:匿名使用者
形參是char *型別,實參是cons chart *型別時,編譯程式會給出錯誤資訊,意思是被調函式可以改變串的內容,而實參又是const型別,這樣的實參不允許改變,二者之間不能融合,即使函式不改變形參的內容也不行。
但形參是const char *,實參是 char *是可行的,當要返回形參指標時,其返回型別必須是const char *。
yes.
press any key to continue#include
#include
const char *strfind(const char *str,const char *substr)
if(j == n)
}return null;
}int main()
2樓:投機士
第乙個函式,因為傳入的變數是乙個常量不能被修改,而引數是可以修改的,所以報錯。
第二個函式,因為參數列身表明不可修改,所以變數是不是變數就無所謂了,都不會被修改。不會報錯。
這實際上和普通的思維邏輯是一致的。
c++ 函式引數部分裡的 const 修飾是什麼意義?
3樓:匿名使用者
不需要,只有在返回型別是指標或者引用型別的時候才有意義,表示不允許通過這個返回的指標或者返回的引用去修改資料。
有時候也用於返回型別是自定義型別的情況,不允許對返回值再直接賦值,但這種用法只在理論上有意義。
另外,團idc網上有許多產品**,便宜有口碑
4樓:匿名使用者
防止函式內部改變傳入位址引數指向的內容
5樓:匿名使用者
c++ 函式引數部分裡的 const 修飾使用來 限定函式的傳遞值引數:
比如說:void function(const int var); 中
const限定傳遞過來的引數在函式內不可以改變,也就是說不能在函式內對var進行修改,但是可以取它的值進行使用。
const 限定符,它把乙個物件轉換成乙個常量。const與define。兩者都可以用來定義常量,但是const定義時,定義了常量的型別,所以更精確一些。
#define只是簡單的文字替換,除了可以定義常量外,還可以用來定義一些簡單的函式,有點類似內聯函式(inline)。const和define定義的常量可以放在標頭檔案裡面。(小注:
可以多次宣告,但只能定義一次)
6樓:孤松獨海
確保是常數型別,防止在函式裡面修改了呼叫者
7樓:匿名使用者
定義為常量 也就是不能改變量值
c語言函式中的引數有const的問題,具體**如下
8樓:漠影歌
首先,你得先區分const char* a和char* const a的區別。
乙個是把指標定為const 。就是不能修改指標。也就是char * const p
乙個是把指標指向的內容定為const 。就是不能修改指標指向的內容 也就是const char *p
在這裡,const char* strsrc表示的是不能修改指標指向的內容,但是對於*strdest++=*strsrc++;
只是在修改指標strsrc的指向,所以是可以成立並且執行的,不明白繼續追問
9樓:匿名使用者
我不是大師,我可以答麼?
c語言程式設計,編寫函式,根據形參x和y的關係,返回不同的值
聽不清啊 include int cmp int x,int y scanf d d a,b c cmp a,b printf d c d n a,s c 1 b return 0 如下 include include int func int x,int y else if x y else in...
在C語言中,函式實參與形參之間的資料傳遞方式是傳遞方式
八零後電影院 函式實參與形參之間的資料傳遞方式是 值傳遞 傳遞方式,在c語言中,資料傳遞方式有值傳遞和引用傳遞,值傳遞 傳值,實際是把實參的值賦值給行參,相當於copy。傳值呼叫中,只使用了實參的值。傳值呼叫機制裡,形參是乙個區域性變數,其初始值為相應實參的值。在引用呼叫機制裡,將實參的位址傳遞給形...
形參和實參的區別是什麼,c語言中形參和實參是什麼意思?有什麼區別?
淳于長順印黛 實參是用來填充形參的。當函式被呼叫時,形參列在函式名後面的括號裡。執行函式呼叫時,實參被傳遞給形參。1 形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。2 實參可以是常量 ...