指針實(shí)際就是實(shí)體的代表而已,不過(guò)指針是個(gè)實(shí)體的存放地址;可以進(jìn)行地址運(yùn)算;
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出宜良免費(fèi)做網(wǎng)站回饋大家。
如:p++,指針指向下一地址;p=q以q指針指向地址作為p指針的地址;
普通的用法是,聲明實(shí)體或?qū)嶓w數(shù)組,用指針指向?qū)嶓w的地址:實(shí)體 b,g[8],*p;
p=b;數(shù)組名稱(chēng)實(shí)際就是固定長(zhǎng)度的指針,所以常有:p=g;p=g+2相當(dāng)于p=g[2];
如函數(shù) void fun(int b[]);可以用int *p;fun(p)來(lái)調(diào)用;p代表數(shù)組b;
如函數(shù) void fun(int *p);可以用int b[6];fun(b)來(lái)調(diào)用;b相當(dāng)于指針p;
在我的系統(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*類(lèi)型的,他們是字符指針,所以他們指向的類(lèi)型是字符。*str和str[0]的含義是一樣的,意思是取得首字符。在c語(yǔ)言中字符串就是用字符指針來(lái)表示的,對(duì)應(yīng)的是“%s”,而加上了*,是取這個(gè)字符指針地址的內(nèi)容,也就是一個(gè)字符,用“%c”表示。所以你打印的是字符串,就應(yīng)該用%s。
#include?"stdio.h"
char?*strins?(char*?s1,?char*?s2)?{
int?a?=?0,?b?=?0;
while?(s1[a++]);
while?(s2[++b]);
while?(a--)?{
s1[a?+?b]?=?s1[a];
}
while?(b--)?{
s1[b]?=?s2[b];
}
return?s1;
}
int?main()?{
char?s1[20];
char?s2[20];
gets(s1);
gets(s2);
printf("c:%s",?strins(s1,s2));
}
void?leftMax(int?*left,int?*right)
{int?max,min;
max=*left*right?*left:*right;
min=*left*right?*right:*left;
*left=max;
*right=min;
}
main()
{int?A,B;
printf("A=%d?B=%d\n",A=2,B=3);
leftMax(A,B),printf("A=%d?B=%d\n",A,B);
printf("A=%d?B=%d\n",A=5,B=3);
leftMax(A,B),printf("A=%d?B=%d\n",A,B);
}
#include "stdio.h"http://
void fun0(int n){
printf("這是%d號(hào)函數(shù)的打印輸出。\n",n+1);
}
void fun1(int n){
printf("這是%d號(hào)函數(shù)的打印輸出。\n",n+1);
}
void fun2(int n){
printf("這是%d號(hào)函數(shù)的打印輸出。\n",n+1);
}
void main(void){
void (*ptr[3])(int)={fun0,fun1,fun2};
int n;
printf("Type 1,2 or 3\nn=");
scanf("%d",n);
n--;
ptr[n](n);
printf("\n");
}
首先,這個(gè)代碼連編譯的過(guò)不了
單從你主函數(shù)的x=sub(p,q,3),我也不知道你那是q還是9。
忽略編程的角度,單從題目的大意,把你的q當(dāng)做是9
x = sub(p,9,3) = funa(9,3) = 9+3 = 12;
x += sub(funb,8,3),x = x+funb(8,3) = 12 + (8-3) = 17
結(jié)果是17