c語(yǔ)言如何快速入門 c語(yǔ)言str函數(shù)入門基礎(chǔ)知識(shí)?
c語(yǔ)言str函數(shù)入門基礎(chǔ)知識(shí)?C語(yǔ)言函數(shù) 包含文件:string.h 函數(shù)名: strstr 函數(shù)原型: 1 extern char *strstr(char *str1, const cha
c語(yǔ)言str函數(shù)入門基礎(chǔ)知識(shí)?
C語(yǔ)言函數(shù)
包含文件:string.h
函數(shù)名: strstr
函數(shù)原型:
1 extern char *strstr(char *str1, const char *str2)
語(yǔ)法:
1 * strstr(str1,str2)
str1: 被查找目標(biāo) string expression to search.
str2: 要查找對(duì)象 The string expression to find.
返回值:若str2是str1的子串,則返回str2在str1的首次出現(xiàn)的地址如果str2不是str1的子串,則返回NULL。
c語(yǔ)言函數(shù)入門基礎(chǔ)知識(shí)?
函數(shù)就是一段封裝好的,可以重復(fù)使用的代碼,它使得我們的程序更加模塊化,不需要編寫大量重復(fù)的代碼。函數(shù)可以提前保存起來(lái),并給它起一個(gè)獨(dú)一無(wú)二的名字,只要知道它的名字就能使用這段代碼。函數(shù)還可以接收數(shù)據(jù),并根據(jù)數(shù)據(jù)的不同做出不同的操作,最后再把處理結(jié)果反饋給我們。
什么是函數(shù)
從表面上看,函數(shù)在使用時(shí)必須帶上括號(hào),有必要的話還要傳遞參數(shù),函數(shù)的執(zhí)行結(jié)果也可以賦值給其它變量。例如,strcmp() 是一個(gè)用來(lái)比較字符串大小的函數(shù),它的用法如下:
str1 和 str2 是傳遞給 strcmp() 的參數(shù),strcmp() 的處理結(jié)果賦值給了變量 result。
我們不妨設(shè)想一下,如果沒(méi)有 strcmp() 函數(shù),要想比較兩個(gè)字符串的大小該怎么寫呢?請(qǐng)看下面的代碼:
比較字符串大小是經(jīng)常的事情,一個(gè)程序可能會(huì)多次寫一段代碼這樣效率低,出錯(cuò)率會(huì)很高。所以C語(yǔ)言提供了一個(gè)功能,允許我們將常用的代碼以固定的格式封裝(包裝)成一個(gè)獨(dú)立的模塊這個(gè)模塊就叫做函數(shù)(Function)。
C語(yǔ)言函數(shù)的形參和實(shí)參
C語(yǔ)言函數(shù)的參數(shù)會(huì)出現(xiàn)在兩個(gè)地方,分別是函數(shù)定義處和函數(shù)調(diào)用處,這兩個(gè)地方的參數(shù)是有區(qū)別的。
形參(形式參數(shù))
在函數(shù)定義中出現(xiàn)的參數(shù)可以看做是一個(gè)占位符,它沒(méi)有數(shù)據(jù),只能等到函數(shù)被調(diào)用時(shí)接收傳遞進(jìn)來(lái)的數(shù)據(jù),所以稱為形式參數(shù),簡(jiǎn)稱形參。
實(shí)參(實(shí)際參數(shù))
函數(shù)被調(diào)用時(shí)給出的參數(shù)包含了實(shí)實(shí)在在的數(shù)據(jù),會(huì)被函數(shù)內(nèi)部的代碼使用,所以稱為實(shí)際參數(shù),簡(jiǎn)稱實(shí)參。
形參和實(shí)參的功能是傳遞數(shù)據(jù),發(fā)生函數(shù)調(diào)用時(shí),實(shí)參的值會(huì)傳遞給形參。
形參和實(shí)參的區(qū)別及聯(lián)系
1) 形參變量只有在函數(shù)被調(diào)用時(shí)才會(huì)分配內(nèi)存,調(diào)用結(jié)束后,立刻釋放內(nèi)存,所以形參變量只有在函數(shù)內(nèi)部有效,不能在函數(shù)外部使用。
2) 實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等,無(wú)論實(shí)參是何種類型的數(shù)據(jù),在進(jìn)行函數(shù)調(diào)用時(shí),它們都必須有確定的值,以便把這些值傳送給形參,所以應(yīng)該提前用賦值、輸入等辦法使實(shí)參獲得確定值。
3) 實(shí)參和形參在數(shù)量上、類型上、順序上必須嚴(yán)格一致,否則會(huì)發(fā)生“類型不匹配”的錯(cuò)誤。當(dāng)然,如果能夠進(jìn)行自動(dòng)類型轉(zhuǎn)換,或者進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,那么實(shí)參類型也可以不同于形參類型。
4) 函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳遞是單向的,只能把實(shí)參的值傳遞給形參,而不能把形參的值反向地傳遞給實(shí)參;
5) 形參和實(shí)參雖然可以同名,但它們之間是相互獨(dú)立的,互不影響,因?yàn)閷?shí)參在函數(shù)外部有效,而形參在函數(shù)內(nèi)部有效。