欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語言

C語言中返回字符串函數(shù)的實現(xiàn)方法

時間:2025-03-22 02:58:13 C語言 我要投稿
  • 相關(guān)推薦

C語言中返回字符串函數(shù)的實現(xiàn)方法

  有四種方式:

  1。使用堆空間,返回申請的堆地址,注意釋放

  2。函數(shù)參數(shù)傳遞指針,返回該指針

  3。返回函數(shù)內(nèi)定義的靜態(tài)變量(共享)

  4。返回全局變量

  其實就是要返回一個有效的指針,尾部變量退出后就無效了。

  使用分配的內(nèi)存,地址是有效

  char *fun()

  {

  char* s = (char*)calloc(100, sizeof(char*) );

  if (s)

  strcpy ( s , "abc " );

  return s;

  }

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

  將地址由入?yún)魅?/strong>

  char* fun(char*s)

  {

  if (s)

  strcpy(s, "abc ");

  return s;

  }

  這種方式調(diào)用都要注意給s分配的大小是足夠。

  可以這樣:

  char* fun(char*s, int len)

  {

  if (s)

  {

  strncpy(s, "abc ", len-1);

  s[len-1] = 0;

  }

  return s;

  }

  或才使用局部靜態(tài)變量

  char* fun()

  {

  static char s[100];

  strcpy(s, "abc ");

  return s;

  }

  這種方式需要注意,不要修改返回的這個字符串,由于是共享地址,對它的修改會反應(yīng)到每個調(diào)用者的。可以這樣:

  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語言中返回字符串函數(shù)的實現(xiàn)方法】相關(guān)文章:

C 語言中返回字符串函數(shù)的四種實現(xiàn)方法09-18

C語言實現(xiàn)返回字符串函數(shù)的方法有哪些07-10

如何實現(xiàn)C語言多個函數(shù)值的返回09-16

C語言中變參函數(shù)的實現(xiàn)細節(jié)10-09

C語言字符串操作函數(shù)及常用的實現(xiàn)10-10

C語言中實現(xiàn)參數(shù)個數(shù)可變函數(shù)11-12

C語言中字符串常用函數(shù)strcat與strcpy的用法10-12

C語言字符串操作函數(shù)和常用的實現(xiàn)10-16

C語言中遞歸函數(shù)的教學(xué)方法05-14