C語言返回指針值的函數(shù)
在C語言中一個函數(shù)可以返回一個整型值、字符值、實型值等,也可以返回指針型的數(shù)據(jù),即地址,其概念與以前類似,只是返回的值的類型是指針類型。
一般形式
類型名 *函數(shù)名(參數(shù)列表);
C語言指針重點
首先要準(zhǔn)確的弄清楚指針的含義,指針就是地址,凡是出現(xiàn)“指針”的地方,都可以用“地址”代替,變量的指針就是變量的地址,指針變量就是地址變量。
要區(qū)別指針和指針變量,指針變量的值是一個地址。
什么叫指向?
- 地址就意味著指向,因為通過地址能找到具有該地址的對象。
要深入掌握在對數(shù)組的操作中正確地使用指針,搞清楚指針的指向。
指針變量可以用空值,即該指針變量不指向任何變量,可以這樣表示:
p=NULL;
其中NULL是一個符號常量,代表整數(shù)0,。在stdio.h頭文件中對NULL進行了宏定義。
使用指針的優(yōu)點
- 提供程序的效率。
- 在調(diào)用函數(shù)時當(dāng)指針指向的變量的值改變時,這些值能夠為主調(diào)函數(shù)使用,即可以從函數(shù)調(diào)用得到多個可改變的值。
- 可以實現(xiàn)動態(tài)存儲分配。
C語言使用指針做函數(shù)返回值
#include
#include //為了使用求字符串長度strlen函數(shù)
char *strLength(char *str1,char *str2)//函數(shù)聲明
int main()//主函數(shù)
{
char str1[30],str2[30];//定義字符數(shù)組
char *str;//定義字符指針變量
printf("請輸入兩個字符串:\\n");//提示語句
gets(str1);//輸入字符串str1
gets(str2);//輸入字符串str12
str = strLength(str1, str2);//函數(shù)調(diào)用
printf("較長的字符串是:%s\\n", str);
return 0;
}
char *strLength(char *str1,char *str2)//自定義求兩個字符串較長的函數(shù)
{
return strlen(str1)>strlen(str2)?str1:str2;
}
編譯運行結(jié)果:
請輸入兩個字符串:
xiaolin
love
較長的字符串是:xiaolin
--------------------------------
Process exited after7.732 secondswith return value0
請按任意鍵繼續(xù). . .
-
C語言
+關(guān)注
關(guān)注
180文章
7614瀏覽量
137712 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62969 -
指針
+關(guān)注
關(guān)注
1文章
481瀏覽量
70608
發(fā)布評論請先 登錄
相關(guān)推薦
評論