C語言返回指針值的函數(shù)
在C語言中一個(gè)函數(shù)可以返回一個(gè)整型值、字符值、實(shí)型值等,也可以返回指針型的數(shù)據(jù),即地址,其概念與以前類似,只是返回的值的類型是指針類型。
一般形式
類型名 *函數(shù)名(參數(shù)列表);
C語言指針重點(diǎn)
首先要準(zhǔn)確的弄清楚指針的含義,指針就是地址,凡是出現(xiàn)“指針”的地方,都可以用“地址”代替,變量的指針就是變量的地址,指針變量就是地址變量。
要區(qū)別指針和指針變量,指針變量的值是一個(gè)地址。
什么叫指向?
- 地址就意味著指向,因?yàn)橥ㄟ^地址能找到具有該地址的對象。
要深入掌握在對數(shù)組的操作中正確地使用指針,搞清楚指針的指向。
指針變量可以用空值,即該指針變量不指向任何變量,可以這樣表示:
p=NULL;
其中NULL是一個(gè)符號常量,代表整數(shù)0,。在stdio.h頭文件中對NULL進(jìn)行了宏定義。
使用指針的優(yōu)點(diǎn)
- 提供程序的效率。
- 在調(diào)用函數(shù)時(shí)當(dāng)指針指向的變量的值改變時(shí),這些值能夠?yàn)橹髡{(diào)函數(shù)使用,即可以從函數(shù)調(diào)用得到多個(gè)可改變的值。
- 可以實(shí)現(xiàn)動(dòng)態(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("請輸入兩個(gè)字符串:\\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)//自定義求兩個(gè)字符串較長的函數(shù)
{
return strlen(str1)>strlen(str2)?str1:str2;
}
編譯運(yùn)行結(jié)果:
請輸入兩個(gè)字符串:
xiaolin
love
較長的字符串是:xiaolin
--------------------------------
Process exited after7.732 secondswith return value0
請按任意鍵繼續(xù). . .
-
C語言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141790 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4381瀏覽量
64898 -
指針
+關(guān)注
關(guān)注
1文章
484瀏覽量
71198
發(fā)布評論請先 登錄
C語言中指針的定義

C語言中指針變量簡述

評論