當前位置:首頁 » 編程語言 » c語言函數返回值是數組

c語言函數返回值是數組

發布時間: 2025-02-12 21:21:16

c語言中函數返回值可以是數組、字元串和結構體嗎

1、ANSIC語言標准,明確規定數組類型和函數類型不可以做為返回值。
解決這種返回值的方法是通過指針來間接返回,即使用數組指針和函數指針。這可以做為c語言引入指針的另一個理由。
2、字元串是數組的一種,是字元數組,所以同樣不可以作為返回值。
3、結構體類型可以做為返回值,C語言設計者當時引入struct結構體的概念,目的是為了增加一種建立C語言新類型的機制,換句話說它希望通過struct建立的類型,像內置的int float類型一樣使用方便。

Ⅱ c語言中調用函數的返回值,如果是數組,主函數要輸出這個數組怎麼實現啊

用指針,另外保存數據的變數退出函數時不得消失。

例如:

#include<stdio.h>

int * fun(int n)

{

int i;

static int a[100]; // 這里用static

for (i=0;i<n;i++) a[i]=i;

return &a[0];

}

void main()

{

int i,n=5;

int *p; // 聲明指針

p = fun(n); // 返回指針

for (i=0;i<n;i++) printf("%d ",p[i]); // 把 p 看成數組來輸出

}

得 0 1 2 3 4

(2)c語言函數返回值是數組擴展閱讀:

注意事項

1、數組宏棚的維度必須是一個常蔽段則量表達式

int main(void)

{

constexpr int i = 20;

int j = 5;//不是常量表達式

int arr1[i];//正確

int arr2[j];//錯誤

system("燃宏pause");

return 0;

}

2、默認情況下,數組的元素被默認初始化。

而且需要注意的是,和內置類型的變數一樣,如果在函數內部定義了某種內置類型的數組,那麼默認初始化會令數組有未定義的值。

Ⅲ c語言中如何使返回值為數組

int Merge1 (int b[ ], int b1[ ], int s, int m, int t )改成int *Merge1 (int b[ ], int b1[ ], int s, int m, int t )

就是int 後面加*,這樣就可以了

Ⅳ 怎麼使C語言的函數返回值為一個數組

// 方法1,用靜態變數進行返回
char *SubFunction(void)
{
static char szText[5] = "adfa"; // 用靜態空間
//對p進行賦值操作
return szText;
}
void Caller() // 這個函數調用SubFunction
{
TRACE("%s\n", SubFunction);
}

// 方法2,用指針傳遞
void SubFunction(char *pText1, char *pText2)
{
// 對pText1, pText2運算
strcpy(pText1, "love");
strcpy(pText2, "you");
return;
}
void Caller() // 這個函數調用SubFunction
{
char szText1[5], szText2[5]; // 當然這里也可以動態分配內存
SubFunction(szText1, szText2); // szText1, szText2就是帶回的值
TRACE("%s %s\n", szText1, szText2);
}

Ⅳ C語言函數中返回數組

void pop(int b[],int n)
{
int i;
for(i=0;i<n;i++)
b[i]=i;
}

main()
{
int b[3],i;
pop(b,3);
for(i=0;i<3;i++) printf("%d",b[i]);
}

離開子函數之後,那個數組空間已經釋放,返回好像沒意義了

熱點內容
php把數據插入資料庫 發布:2025-02-13 00:09:48 瀏覽:369
eclipse查看jar包源碼 發布:2025-02-12 23:59:35 瀏覽:973
電腦主機伺服器維修 發布:2025-02-12 23:59:26 瀏覽:302
sqlserver標識 發布:2025-02-12 23:51:33 瀏覽:463
安卓怎麼玩地牢獵人 發布:2025-02-12 23:50:25 瀏覽:944
思鄉腳本 發布:2025-02-12 23:43:32 瀏覽:440
java的job 發布:2025-02-12 23:38:43 瀏覽:893
我的世界伺服器授權指令 發布:2025-02-12 23:30:13 瀏覽:597
電腦伺服器號在哪裡找 發布:2025-02-12 23:22:29 瀏覽:13
linux查看系統是32位 發布:2025-02-12 23:17:29 瀏覽:990