這樣說吧:

創(chuàng)新互聯(lián)建站從2013年開始,先為五峰等服務(wù)建站,五峰等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為五峰企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
有2個(gè)箱子,編號(hào)分別是a,b,a裝了一個(gè)蘋果,b裝了一個(gè)梨子,
有2張紙,編號(hào)分別是p,q,p紙上寫著a,q紙上寫著b。
1、現(xiàn)在我準(zhǔn)備一張白紙,編號(hào)為t,把p紙上寫的a抄到t上,然后擦掉p紙上的a,寫成b;把q紙上的b摖掉,然后把t紙上寫的a抄到q紙上,那蘋果和梨子交換了嗎?
2、現(xiàn)在我準(zhǔn)備一個(gè)空箱子,編號(hào)為t,根據(jù)p紙上寫的箱子編號(hào)a,把a(bǔ)箱子中的東西取出并放到箱子t,根據(jù)q紙上寫的箱子編號(hào)b,把b箱子中的東西取出并放到p紙上寫的箱子a中,然后把t箱子中的東西取出放到q紙上寫的箱子b中,蘋果和梨子交換了嗎?
#include stdio.h
/*求a+b*/
int plus(int a, int b) { return a + b; }
/*求a-b*/
int minus(int a, int b) { return a - b; }
/*求a*b*/
int multiply(int a, int b) { return a * b; }
/*求a/b*/
int divide(int a, int b) { return a / b; }
typedef int (*FUN)(int,int); /*定義基本四則運(yùn)算的標(biāo)準(zhǔn)形式*/
char op[]="+-*/"; /*四則運(yùn)算的符號(hào)*/
FUN fun[]={plus, minus, multiply, divide};/*四則運(yùn)算的函數(shù)指針*/
/*下面的程序演示了如何用一個(gè)通用的函數(shù)指針連續(xù)處理多種不同的函數(shù)運(yùn)算*/
int main(void)
{
int a = 6, b = 3, i = 0;
for(i = 0; i 4; i++)
printf("%d %c %d = %d\n", a, op[i], b, (*(fun + i))(a,b));
return 0;
}
/*運(yùn)行結(jié)果:
6 + 3 = 9
6 - 3 = 3
6 * 3 = 18
6 / 3 = 2
上面的程序說明,如果你有很多種類似的操作,形式上都一致,只不過內(nèi)容有所不同,那么你可以用函數(shù)指針去代替這些函數(shù),這樣有時(shí)候會(huì)很方便
*/
在我的系統(tǒng)中運(yùn)行你 的程序和你想的一樣,是8不是7.
string 1,string 2:
it's a boy
boy
offset 8 "boy"in"it's a boy"
所謂指針就是地址,只是指針會(huì)區(qū)別它是什么指針,對(duì)應(yīng)的數(shù)據(jù)占多大內(nèi)存。如subst,str都是char*類型的,他們是字符指針,所以他們指向的類型是字符。*str和str[0]的含義是一樣的,意思是取得首字符。在c語(yǔ)言中字符串就是用字符指針來表示的,對(duì)應(yīng)的是“%s”,而加上了*,是取這個(gè)字符指針地址的內(nèi)容,也就是一個(gè)字符,用“%c”表示。所以你打印的是字符串,就應(yīng)該用%s。
函數(shù)指針 就是指向函數(shù)的指針
比如
void?pr_int(int?a)//函數(shù)
{
printf("%d\n",a);
}
void?func(void?(*p)(int),?int?m)//函數(shù)指針做參數(shù)
{
p(m);//調(diào)用函數(shù)指針
}
int?main()
{
func(pr_int,?100);
return?0;
}
函數(shù)指針是指向函數(shù)的指針變量。 因而“函數(shù)指針”本身首先應(yīng)是指針變量,只不過該指針變量指向函數(shù)。這正如用指針變量可指向整型變量、字符型、數(shù)組一樣,這里是指向函數(shù)。
函數(shù)指針有兩個(gè)用途:調(diào)用函數(shù)和做函數(shù)的參數(shù)。
函數(shù)指針的聲明方法為:
返回值類型 ( *?指針變量名) ([形參列表]);
如:
int func(int x); /* 聲明一個(gè)函數(shù) */
int (*f) (int x); /* 聲明一個(gè)函數(shù)指針 */
f=func; /* 將func函數(shù)的首地址賦給指針f */
或者使用下面的方法將函數(shù)地址賦給函數(shù)指針:
f = func;
賦值時(shí)函數(shù)func不帶括號(hào),也不帶參數(shù),由于func代表函數(shù)的首地址,因此經(jīng)過賦值以后,指針f就指向函數(shù)func(x)的代碼的首地址。
下面的程序說明了函數(shù)指針調(diào)用函數(shù)的方法:
#includestdio.h
int?max(int?x,int?y){return?(xy??x:y);}
int?main()
{
int?(*ptr)(int,?int);
int?a,?b,?c;
ptr?=?max;
scanf("%d%d",?a,?b);
c?=?(*ptr)(a,b);
printf("a=%d,?b=%d,?max=%d",?a,?b,?c);
return?0;
}
                新聞名稱:簡(jiǎn)單c語(yǔ)言指針函數(shù)例子 簡(jiǎn)單c語(yǔ)言指針函數(shù)例子圖
                
                地址分享:http://chinadenli.net/article26/hihdcg.html
            
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站制作、微信小程序、全網(wǎng)營(yíng)銷推廣、自適應(yīng)網(wǎng)站、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
