真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

復(fù)習(xí)C語言指針---數(shù)組指針-創(chuàng)新互聯(lián)

復(fù)習(xí)C語言指針—第二章:數(shù)組指針

站在用戶的角度思考問題,與客戶深入溝通,找到納溪網(wǎng)站設(shè)計(jì)與納溪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋納溪地區(qū)。數(shù)組指針
  • 復(fù)習(xí)C語言指針---第二章:數(shù)組指針
  • 數(shù)組指針定義
    • 數(shù)組指針和二維數(shù)組
      • 數(shù)組指針和指針數(shù)組
  • 總結(jié)

數(shù)組指針定義

數(shù)組指針,其本質(zhì)是指針,是指向一整個(gè)數(shù)組的指針

一,這里,要說明指向數(shù)組的指針和指向一整個(gè)數(shù)組的指針即數(shù)組指針的區(qū)別
我們知道,數(shù)組是一塊連續(xù)的內(nèi)存,而數(shù)組名是該數(shù)組的地址,該地址同時(shí)也是數(shù)組首元素的地址
例如

int arr[3]={1,2,3};
printf("%p",arr);//此處打印的就是arr的地址

數(shù)組名是數(shù)組首元素的地址,其作用范圍為該數(shù)據(jù)類型的范圍,指向數(shù)組的第一個(gè)元素,并且+1操作跳過幾個(gè)字節(jié)取決于其數(shù)據(jù)類型,int 則跳過個(gè)4個(gè)字節(jié),char 則跳過一個(gè)字節(jié)

但是有兩種情況,數(shù)組名可以指向整個(gè)數(shù)組
一,sizeof(arr);此處的arr代表是整個(gè)數(shù)組,所以sizeof()才可以統(tǒng)計(jì)出整個(gè)數(shù)組的大小
二,&arr,取arr的地址,即使該地址指向整個(gè)數(shù)組,+1操作可跳過整個(gè)數(shù)組

由此就可以給出普通指向數(shù)組的指針和數(shù)組指針的區(qū)別

普通指向數(shù)組的指針

int arr[3]={1,2,3};
int *p=arr;//此處p就是int類型的指針,存儲(chǔ)arr數(shù)組的首地址
//p是指向數(shù)組的指針,為普通指針
printf("%d",*p);//打印出來就是arr的首元素--1
printf("%d",*(p+1);//此處打印的是arr的第二個(gè)元素--2
//因?yàn)閜為整型指針,+1操作跳過的是一個(gè)整型,即跳過1

數(shù)組指針

int arr[10] = {1,2,3,4,5,6,7,8,9,10 };
*parr代表他是個(gè)指針 int [10]代表指針類型是一個(gè)10個(gè)數(shù)的數(shù)組,指向一個(gè)10個(gè)元素的數(shù)組
	//其中存放的是數(shù)組的地址
	int(*parr)[10] = &arr;
    //遍歷數(shù)組中的元素
	for (int i = 0; i< 10; i++)
	{*parr解引用出來是arr數(shù)組的首地址,沒有指向整個(gè)數(shù)組,parr指向整個(gè)數(shù)組
		printf("%d ", *((*parr) + i));    //基本沒有這樣寫的,只是一個(gè)例子
	}

了解了數(shù)組指針的定義后,我們應(yīng)該思考,數(shù)組指針如何使用

數(shù)組指針和二維數(shù)組
//普通打印二維數(shù)組
//r代表行,c代表列
void print1(int arr[3][5], int r, int c)
{for (int i = 0; i< r; i++)
	{for (int j = 0; j< c; j++)
		{	printf("%d ", arr[i][j]);
		}
		printf("\n");
	}
}

//利用數(shù)組指針打印二維數(shù)組
//p為數(shù)組指針,指向一個(gè)擁有5個(gè)int類型元素的數(shù)組,即二維數(shù)組第一行元素
void print2(int(*p)[5], int r, int c)
{for (int i = 0; i< r; i++)
	{for (int j = 0; j< c; j++)
		{	//(p+i)一行一行跳    解引用再+j一個(gè)一個(gè)訪問
			printf("%d ", *(*(p+i) + j));
		}
		printf("\n");
	}
}

int main()
{//打印二維數(shù)組
	int arr[3][5] = {{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7} };
	//經(jīng)典打印方式
	//print1(arr, 3, 5);
	//數(shù)組指針打印
	print2(arr, 3, 5);//二維數(shù)組傳參是把第一行的地址當(dāng)成首地址
	
	return 0;
}
數(shù)組指針和指針數(shù)組
int main()
{//整型數(shù)組
	int parr[10];
	//指針數(shù)組
	int *parr1[10];
	//數(shù)組指針
	int(*parr2)[10];
	//去掉數(shù)組名就是存放的元素類型  int (*) [5]
	//存放數(shù)組指針的數(shù)組    該數(shù)組有10個(gè)元素   每個(gè)元素都可以指向一個(gè)含5個(gè)元素的數(shù)組
	int(*parr3[10])[5];
	
	return 0;
}
總結(jié)

數(shù)組指針本質(zhì)就是指針,具體指針的基本特征和使用,一般應(yīng)用于二維數(shù)組即以上,
與指針數(shù)組的結(jié)合,可以應(yīng)用再更復(fù)雜的結(jié)構(gòu)
本次復(fù)習(xí)暫時(shí)到此,歡迎大佬們補(bǔ)充和糾正

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


標(biāo)題名稱:復(fù)習(xí)C語言指針---數(shù)組指針-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/dpjssd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部