4 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
提高運(yùn)行速度
在函數(shù)帶如參數(shù)的時(shí)候會(huì)非常的方便
處理鏈表很方便
就是處理起來(lái)麻煩
在函數(shù)帶如參數(shù)的時(shí)候會(huì)非常的方便
例如
void swap(int *x, int *y)
{
int p = *y;
*y = *x;
*x = p;
}
void main()
{
int a[10],i;
int max,min,max_i = 0,min_i = 0;
scanf("%d",&a[0]);
max = min = a[0];
for(i = 1; i <10; i++)
{
scanf("%d",&a[i]);
if(max <a[i])
{
max = a[i];
max_i = i;
}
if(min > a[i])
{
min = a[i];
min_i = i;
}
}
swap(&a[max_i], &a[min_i]);
for(i =0 ; i <10; i++)
{
printf("%d ", a[i]);
}
}

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
1.指針概念:變量的地址(計(jì)算機(jī)內(nèi)存字節(jié)的編號(hào))叫做指針,存放變量地址的變量叫指針變量, 簡(jiǎn)言之,指針是用來(lái)存放地址的。
2.指針作用:指向這個(gè)變量或數(shù)組的首地址,是變量的間接引用方式。其值如果改變,變量的值或數(shù)組元素的值也會(huì)跟著改變。程序?qū)ψ兞康牟僮鲗?shí)際上是對(duì)變量所在的存儲(chǔ)空間讀取和寫入數(shù)據(jù)。方便對(duì)變量的操作。
3.舉例說(shuō)明:
int a=3;/*定義一個(gè)整型變量a,并賦初值3*/
int *p;/*定義一個(gè)指針變量P*/
p=&a;/*讓p指向a的首地址,也就是a的地址*/
程序?yàn)閍分配一個(gè)2個(gè)字節(jié)的存儲(chǔ)單元,假如2個(gè)字節(jié)的地址分別為(ABCD1和ABCD2,唯一),那么p里面放的值就是ABCD1,不是3。這時(shí)可通過p直接引用a,實(shí)際上*p=3。以后不管a存放在內(nèi)存中的哪個(gè)地方,只用通過調(diào)用p就可以引用a。這時(shí)如果令*p=4,則最后的a值也為4。對(duì)于數(shù)組,指針是指向數(shù)組的首地址。

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
指針的最大好處是:它非常靈活,功能強(qiáng)大??!它可以指向系統(tǒng)內(nèi)存中的任何一個(gè)地址!這個(gè)功能是最棒的!尤其是編寫系統(tǒng)程序的人員特別需要!例如:定義一個(gè)整型指針變量:int * point ; 然后你可以用 p=0x12345,即你可以指向機(jī)器的物理地址 0x 12345,然后你可以讀取該地址的值。
至于你說(shuō)的第二個(gè)問題,用數(shù)組比用指針安全、保險(xiǎn),不容易出錯(cuò)。所以如果能用數(shù)組引用元素的話,就盡量不用指針。
- 4 回答
- 0 關(guān)注
- 423 瀏覽
添加回答
舉報(bào)