前言
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語言 C語言實現井字棋遊戲
遊戲介紹 井字棋 tic tac toe 是由德國人發明的三連棋遊戲,要求玩家輪流在一有九格方盤上劃加字或圓圈,誰先把三個同一記號排成橫線 直線 斜線,即是勝者!此文章將教初學者如何利用簡單的c語句完成井字棋遊戲。框架介紹 在此次完成遊戲的過程中我們將遊戲的檔案分成3個部分。1.game.h 部分為...
C語言實現關機程式
關機程式 include include include sleep的時間可以適當增長點 int main fflush stdout printf n printf 等了這麼久 n sleep 600 printf fflush stdout sleep 600 printf fflush std...
C語言實現掃雷小程式
掃雷 是一款大眾類的益智小遊戲,於1992年發行。遊戲目標是在最短的時間內根據點選格仔出現的數字找出所有非雷格仔,同時避免踩雷,踩到乙個雷即全盤皆輸。在實現遊戲的首先,需要建立test.c game.c game.h三個檔案。test.c主要進行遊戲的測試。game.c主要進行遊戲內部一些函式的具體...