靜網PWA視頻評論

C語言實現返回字符串函數的方法有哪些

2024年01月05日

- txt下載

C語言實現返回字符串函數的方法有哪些
在C語言中實現函數返回字符串,首先要確定函數返回的字符串地址的來源,一般分為四種方式。下面百分網小編帶大家一起來看看詳細內容,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
  前言
C語言返回字符串函數共有四種方式,分別如下:
使用堆空間,返回申請的堆地址,注意釋放
函數參數傳遞指針,返回該指針
返回函數內定義的靜態變量(共享)
返回全局變量
  下面來看看詳細的介紹
其實就是要返回一個有效的'指針,尾部變量退出後就無效了。
使用分配的內存,地址是有效
char *fun()
{
char* s = (char*)calloc(100, sizeof(char*) );
if (s)
strcpy ( s , "abc " );
return s;
}
但這種方式需要注意,必須由使用將將返回的地址free掉
將地址由入參傳入
char* fun(char*s)
{
if (s)
strcpy(s, "abc ");
return s;
}
  這種方式調用都要注意給s分配的大小是足夠。
可以這樣:
char* fun(char*s, int len)
{
if (s)
{
strncpy(s, "abc ", len-1);
s[len-1] = 0;
}
return s;
}
或才使用局部靜態變量
char* fun()
{
static char s[100];
strcpy(s, "abc ");
return s;
}
  這種方式需要注意,不要修改返回的這個字符串,由於是共享地址,對它的修改會反應到每個調用者的。可以這樣:
const char* fun()
{
static char s[100];
strcpy(s, "abc ");
return s;
}
  還有一種是使用全局變量
char g_s[100];
char* fun()
{
strcpy(g_s, "abc ");
return s;
}

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.