C言語完成前往字符串函數的四種辦法。本站提示廣大學習愛好者:(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;
}
異樣的,也要留意這個變量可存儲的最大空間。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家學習或許運用C言語能有所協助,假如有疑問大家可以留言交流。