午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

有關(guān)指針,結(jié)構(gòu)體,數(shù)組的總結(jié)

 印度阿三17 2019-07-03

一級指針

*p和p的區(qū)別以及如何定義指針

首先理解一個語句
i_pointer=&i;

*i_pointer表達的是指針?biāo)傅膶ο缶褪悄爿斎雐變量的數(shù)值。
i_pointer有一個具體的值,這個值就是地址也就是&i…

那么如何定義指針呢?
再看一個語句 int *pointer_1,*pointer_2;

就是定義了兩個指針
可見,雖然這里也用到了*的符號,但他表示的并不是上面所說的表示變量的數(shù)值。

所以:int *pointer_1中的pointer_1為指針變量
i_pointer為指針
區(qū)分好指針變量和指針的區(qū)別

大概的理解就是,指針變量他是一個變化的指針,你可以把指針理解為門牌號,指針內(nèi)容理解為門里面的內(nèi)容。
而上面所說的指針變量就是一個變化的門牌號

同樣的char *pointer_1也可以表示一個指針,但是這個叫做指針變量的基類型

基類型表示的是可以指向變量的類型,比如說,你想找一個指針指向數(shù)字和字符是不一樣的。

指針和數(shù)組之間的關(guān)系

我們先理解一下下面三句話

int *p;
p=&a[0];
p=a;

上面的效果是完全一樣的。
為什么呢?
首先,第二行的意思是a[0]表達的是一個數(shù)字,那么對他取地址然后賦值給p
第三行的意思是,a這個數(shù)組的第一個元素的地址賦值給a
所以我們可以總結(jié)得

已知一個數(shù)組a[n],a代表的就是這個數(shù)組第一個元素所對應(yīng)的地址

那么我們?nèi)绾瓮ㄟ^指針來引用數(shù)組的元素呢?

上面我們說到

int *p;
p=&a[0];
p=a;

我們?nèi)绻麑 1其實就是a[1]這個元素的地址
引用的話就直接用*解運算符來得到指針對應(yīng)的內(nèi)容

*(p i);

這個就是引用數(shù)組的內(nèi)容。

數(shù)組名和函數(shù)參數(shù)

首先看一下這個語句

void(int arr[],int n);
fun(arrar,10)

還記得上面是怎么用指針做函數(shù)參數(shù)的么?

void swap(int *p1,int &p2);
swap(p1,p2);

是不是覺得兩個其實非常像?
沒錯!

我們可以看到。
在定義函數(shù)的時候,括號里面都是指針變量
在用函數(shù)的時候,都是把指針放進去

但其實程序在編譯的時候,是將arr指針當(dāng)作變量來處理其實就是

void(int arr[],int n);
等價于
void fun(int *arr,int n);

由int arr[]==int *arr,我們可以得出一個結(jié)論

數(shù)組的本質(zhì)就是一個指針(在計算機處理數(shù)組的時候)

指針和多維數(shù)組的關(guān)系

我們先看一個二維數(shù)組

int a[3][4]={
{1,3,5,7}
{9,11,13,15}
{17,19,21,23}
};

1 3 5 7
9 11 13 15
17 19 21 23
從二維數(shù)組來看a代表的是二維數(shù)組首元素的地址
但是現(xiàn)在的首元素不是一個簡單的整型元素
而是一個由4個整形元素所組成的一維數(shù)組。

所以a代表的是首行(即序號為0的行的)首地址。

表達形式含義地址
a二維數(shù)組的組名,第0行的首地址2000
a 1,&a[1]第一行的首地址2000
a[0],*(a 0),*a0行0列的元素的地址2016
a[1],*a 1第1行第0列的地址2016
a[1] 2,* (a 1) 2,&a[1][2]第1行第2列的地址2021
* (a[1] 2),* (*(a 1) 2),a[1][2]第1行第2列的數(shù)值元素值為13

還有一個東西你要注意的是,一個int型的指針變量,相差一個位置,就是加4,但是現(xiàn)在這個地方,一行有四個元素,所以相差了16

–end of the article–
明天早上再把結(jié)構(gòu)體還有多重指針總結(jié)一下

來源:https://www./content-4-296101.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多