成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

帶你快速了解C語言之指針進(jìn)階-創(chuàng)新互聯(lián)

目錄

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、會(huì)同網(wǎng)站維護(hù)、網(wǎng)站推廣。

一.指針

二.字符指針

三.指針數(shù)組

四.數(shù)組指針?

1.數(shù)組指針的使用

四.數(shù)組參數(shù)、指針參數(shù)

1.一維數(shù)組傳參

2.二維數(shù)組傳參

3.一級(jí)指針傳參

4.二級(jí)指針傳參

五.函數(shù)指針.

六.函數(shù)指針數(shù)組.


一.指針

指針是什么呢?

簡單的理解,指針就是一個(gè)變量,用來存放地址。而指針變量的大小在32位機(jī)器上是4字節(jié),在64位機(jī)器上是8字節(jié)。

這里的指針pa就存放了a的地址。

二.字符指針

字面上來理解,就是指向字符的指針。

如果要存放字符串的話,就有一些注意事項(xiàng)了。

 ?char arr[] = "zlsrosy.";  //1
 ? ?char brr[] = "zlsrosy.";  //2
 ? ?const char *crr = "zlsrosy."; //3
 ? ?const char *drr = "zlsrosy."; //4

1和2:分別開辟了arr1和brr2兩塊空間,并用zlsrosy.初始化。所以str1和str2的地址并不相同。

3和4:首先這里有一個(gè)zlsrosy常量字符串,它已經(jīng)存在了內(nèi)存中了。之后我們用crr,drr指針指向了這個(gè)常量字符串。所以crr和drr的地址是相同的。

三.指針數(shù)組

它是存放指針的數(shù)組。

int* arr[10];? ? ?首先它是一個(gè)有10個(gè)元素的數(shù)組,每個(gè)元素是int*類型的。

char* arr[10];? ? ?首先它是一個(gè)有10個(gè)元素的數(shù)組,每個(gè)元素是char*類型的。

char**arr[10];? ?首先它是一個(gè)有10個(gè)元素的數(shù)組, 每個(gè)元素是char**類型的。

四.數(shù)組指針?

與指針數(shù)組不同,數(shù)組指針是一種指針,他指向數(shù)組。?

int*?arr[10]? ? ? ? ? ? ? ? ?它是一個(gè)指針數(shù)組

int (*arr)[10]? ? ? ? ?它是一個(gè)數(shù)組指針

看出區(qū)別了嗎?

*如果先和arr結(jié)合,代表它是一個(gè)指針,如果它先和int結(jié)合,代表它是一個(gè)數(shù)組,這就涉及到了優(yōu)先級(jí)的問題。[ ]的優(yōu)先級(jí)>*。?

1.數(shù)組指針的使用

傳參數(shù)組名arr,代表首元素地址。這里的首元素是arr【0】是二維數(shù)組的第一行。

所以傳遞的arr是第一行的地址,是一個(gè)一維數(shù)組。?

四.數(shù)組參數(shù)、指針參數(shù) 1.一維數(shù)組傳參
#includevoid test(int arr[])// 傳整形數(shù)組,用數(shù)組接收 ok.
{}
void test(int arr[10])// 同上.
{}
void test(int *arr)// 傳整形數(shù)組,arr代表數(shù)組首元素地址,用整形指針arr接收 ok. 
{}
void test2(int *arr[20])//傳指針數(shù)組,用指針數(shù)組接收 ok.
{}
void test2(int **arr)// 傳一級(jí)整形指針數(shù)組,數(shù)組名表示首元素地址,用二級(jí)指針接收  ok.
{}
int main()
{
 int arr[10] = {0};
 int *arr2[20] = {0};
 test(arr);
 test2(arr2);
}
2.二維數(shù)組傳參
void test(int arr[3][5])// 傳二維數(shù)組,接收用二維數(shù)組 ok.
{}
void test(int arr[][])// 傳二維數(shù)組,接收時(shí)沒有指定列 err.
{} 
void test(int arr[][5])// 傳二維數(shù)組,指定了列,ok.
{}
void test(int *arr)// 傳二維數(shù)組,數(shù)組名表示首元素地址,int*arr只接收了第一行 err.
{}
void test(int* arr[5])//傳二維(整形)數(shù)組,用指針數(shù)組接收,err.
{}
void test(int (*arr)[5])//傳二維數(shù)組,用數(shù)組指針接收,ok.
{}
void test(int **arr)//傳二維數(shù)組,數(shù)組名表示首元素地址,int**arr是地址的地址,err.
{}
int main()
{
 int arr[3][5] = {0};
 test(arr);
}
3.一級(jí)指針傳參
void test1(int *p)
{}
//test1函數(shù)能接收什么參數(shù)?
void test2(char* p)
{}
//test2函數(shù)能接收什么參數(shù)?




int main()
{
    int a=0;
    int*pa=&a;
    int arr[5]={0};
    char b=0;
    char*pb=&b;
    char brr={0};
    test1(&a);
    test1(pa);
    test1(arr);
    test2(&b);
    test2(pb);
    test2(brr);
    
}
4.二級(jí)指針傳參
void test3(int**arr)
{};
//可以傳什么參數(shù)?


int main()
{
  int **ptr;
  int *pp;
  int*arr[10];  //指針數(shù)組
  
  test3(ptr);
  test3(&p);
  test3(arr);
}
五.函數(shù)指針.

指向函數(shù)的指針

void swap(int *a,int*b)
{
	int tmp = *a;
	*a = *b;
	*b = tmp;
}

int main()
{
	int a = 1;
	int b = 2;
	swap(&a,&b);
	void (*arr)() = swap;     //函數(shù)指針

}

(*arr)代表它是一個(gè)指針,void是函數(shù)swap的返回類型,()代表它是一個(gè)函數(shù)。?

六.函數(shù)指針數(shù)組.

它是一個(gè)數(shù)組,里面的數(shù)據(jù)全是函數(shù)指針,用于集合函數(shù)

int add(int a,int b)
{
	return a + b;
}

int sub(int a, int b)
{
	return a - b;
}

int main()
{
	int a = 1;
	int b = 2;
	add(a,b);
	sub(a, b);
	int (*arr[2])(int x,int y) = { add,sub}; //函數(shù)指針數(shù)組

}

你是否還在尋找穩(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)題:帶你快速了解C語言之指針進(jìn)階-創(chuàng)新互聯(lián)
瀏覽地址:http://jinyejixie.com/article48/ddegep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、電子商務(wù)網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化、小程序開發(fā)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
怀安县| 柳州市| 石城县| 四平市| 商丘市| 偏关县| 方城县| 隆昌县| 会泽县| 淳化县| 田东县| 三门峡市| 镇雄县| 荔波县| 江津市| 江津市| 新建县| 汉沽区| 城口县| 阜宁县| 长武县| 鸡西市| 日喀则市| 绥宁县| 曲松县| 邳州市| 洞口县| 阿克陶县| 嘉禾县| 蒲城县| 寻甸| 九江县| 邵阳市| 曲水县| 门头沟区| 罗山县| 炎陵县| 五指山市| 鲜城| 托里县| 邢台县|