C語言可以返回字串嗎?可以的話返回值型別是什麼呢?能否舉個例子。謝謝

時間 2021-09-03 07:07:18

1樓:劉劉

c語言返回字串有四種方式:1。使用堆空間,返回申請的堆地址,注意釋放2。

函式引數傳遞指標,返回該指標3。返回函式內定義的靜態變數(共享)4。返回全域性變數使用分配的記憶體,地址是有效

char *fun()

但這種方式需要注意,必須由使用將將返回的地址free掉將地址由入參傳入

char* fun(char*s)

這種方式呼叫都要注意給s分配的大小是足夠。

可以這樣:

char* fun(char*s, int len)return s;

} 或才使用區域性靜態變數

char* fun()

這種方式需要注意,不要修改返回的這個字串,由於是共享地址,對它的修改會反應到每個呼叫者的。可以這樣:

const char* fun()

還有一種是使用全域性變數

char g_s[100];

char* fun()

同樣的,也要注意這個變數可儲存的最大空間。

2樓:匿名使用者

可以的。。用char *做為返回型別。。。其實也就是char型陣列。。。

如:char * printhello()

3樓:風灬清灬雲淡

可以的,函式型別定為char *,返回型別是char陣列的陣列名,也就是首地址

c語言中,能否通過陣列的值來知道陣列的序號?可以的話能舉個例子嗎?

4樓:匿名使用者

比如說,簡單的,數copy組值就是序號

bai另一種辦法,假設數

du組元素是unsigned int型的,佔用zhi4個位元組,其中一個位元組表dao示序號,其他3個位元組儲存實際取值,這樣可以最大有256個元素,儲存的值可以是0~1677216

c語言怎麼返回字串陣列,C語言中怎麼查詢字串陣列中的某個字元?

風若遠去何人留 c語言返回值不支援返回陣列,不過可以通過返回指標型別,用以替代陣列。在c語言中,陣列大多數時候是可以用指標替代的。不過需要注意的是,不能夠返回在函式內部定義的區域性變數陣列,因為一旦函式退出,區域性變數就會被釋放,導致陣列指標無效。可以返回以下幾種 1 全域性變數,或者全域性變數空間...

c語言,字串,C語言中,字串是什麼?

c語言中,字串是什麼?位操作運算都只能是整形或字元型,字元型實際是單位元組整形。包括以下幾個操作符 按位與 按位或。按位異或。左移 右移 另外還有一個取餘操作 a b的意思是,a除以b,取餘數。這個是c語言的硬性規定,位操作都是正數按照二進位制進行表達的時候才有的概念 而取餘操作是整數相除得餘數,餘...

c語言刪除字串中的字元,C語言 刪除字串中指定的字元

受災 這個容易,就是把指定位置的字元去掉,也就是說後面的字元覆蓋比如刪除指定的字元在字串中第一個出現的位置void strdel char str,char ch if p 希望能解決您的問題。 微俊 include include int main s i 0 printf input a cha...