欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言 指針綜合解析

 更新時(shí)間:2021年11月03日 15:15:59   作者:Aerobatics  
指針可以表示一個(gè)變更的地址,在計(jì)算機(jī)程序中,通常表示內(nèi)存地址,存儲(chǔ)數(shù)據(jù)的地址,下面這篇文章主要給大家綜合的介紹了關(guān)于C語言指針的本質(zhì)與用法

指針總結(jié)

部分筆記來源于王道C語言訓(xùn)練營(yíng)

指針:變量的地址
指針變量:一個(gè)變量專門用來存放另一變量的地址

1.指針的本質(zhì)

1.1 指針的定義

通過取地址(指針)直接訪問變量
通過指針變量間接訪問另一個(gè)變量

1.2 取地址操作符與取值操作符

注意:

(1)指針變量前面的 ∗ * ∗ 表示該變量為指針型變量

int* p=&i;	//變量名為 p,該變量為指向整型數(shù)據(jù)的指針類型(int*)

(2)在定義指針變量時(shí)必須指定其類型

float a;//浮點(diǎn)型變量
int* p=&a; //錯(cuò)誤,整型變量的指針

(3)取地址運(yùn)算符和取值運(yùn)算符混用(兩運(yùn)算符優(yōu)先級(jí)相同,應(yīng)自右向左方向結(jié)合)

float* p=&a;
&*p;	//先解引用獲得變量a的值,再取該值的存儲(chǔ)地址,等價(jià)于&a
*&a;	//先取得變量a的地址,再解引用獲得a的值,等價(jià)于a

(4)連續(xù)定義多個(gè)指針變量

int* a,b,c;	//錯(cuò)誤,這里只有a為整型變量的指針,b,c均為整型變量
int *a,*b,*c; //正確

2.指針的使用場(chǎng)景

2.1 指針的傳遞

值傳遞

點(diǎn)擊逐語句進(jìn)入change函數(shù)體

進(jìn)入函數(shù)體后點(diǎn)擊逐過程

為解決以上問題,引出指針傳遞

2.2 指針的偏移(指針的加減)

2.3 指針與自增、自減運(yùn)算符

∗ * ∗ 和 + + ++ ++ 的優(yōu)先級(jí)相同,混合使用是自右向左看

分析時(shí)第一步:先去掉后增或后減
分析時(shí)第二步:前面符號(hào)的優(yōu)先級(jí)是否高于后增/后減的優(yōu)先級(jí),若是則先執(zhí)行前面,否則先執(zhí)行后面

j=*p++;	等價(jià)于 j=*p; p++;

j=(*p)++; 等價(jià)于 j=*p; (*p)++;	

int a[3]={2,7,8};
int* p;
p=a;
//p[0]等價(jià)于*p
j=p[0]++;	//等價(jià)于 j=p[0]; p[0]++;	

2.4 指針與一維數(shù)組

函數(shù)調(diào)用的本質(zhì)是值傳遞(實(shí)參賦值給形參)

數(shù)組名在傳遞過程中是弱化為指針的

2.5 指針與動(dòng)態(tài)內(nèi)存申請(qǐng)(malloc)

C語言的數(shù)組長(zhǎng)度固定是因?yàn)槠涠x的整型、浮點(diǎn)型、字符型變量,數(shù)組變量都在??臻g中,而棧空間的大小在編譯時(shí)是確定的。如果使用的空間大小不確定,那么就要使用堆空間

程序是放在磁盤上的有序的指令集合

程序啟動(dòng)起來才叫進(jìn)程

#include<stdlib.h>
void *malloc(size_t size);	//malloc在向堆申請(qǐng)空間,不使用時(shí)要釋放
//void* 為無類型指針,并沒有規(guī)定指針指向什么類型的變量 
//malloc并不知道我們申請(qǐng)的空間用來存放什么類型的數(shù)據(jù),
//所以確定要用來存儲(chǔ)什么類型后,都會(huì)將void*強(qiáng)制轉(zhuǎn)換為對(duì)應(yīng)的類型

申請(qǐng)堆空間

釋放所申請(qǐng)的堆空間

#include<stdlib.h>
void free(void *ptr);

free(p);
p=NULL;	//如果不把p置為NULL,我們把 p稱為野指針
??臻g與堆空間的區(qū)別

函數(shù)??臻g釋放后,函數(shù)內(nèi)的所有局部變量消失。
棧空間會(huì)隨函數(shù)的結(jié)束而釋放

堆空間不會(huì)因函數(shù)執(zhí)行結(jié)束而釋放

2.6 字符指針與字符數(shù)組的初始化

char* p="hello";	//字符指針,把字符串常量"hello"的首地址賦給p
char c[10]="hello";	//字符數(shù)組初始化,等價(jià)于 strcpy(c,"hello")

3.二級(jí)指針

二級(jí)指針只服務(wù)于一級(jí)指針的傳遞與偏移

3.1 二級(jí)指針的傳遞

要想在子函數(shù)中改變一個(gè)變量的值,必須把該變量的地址傳進(jìn)去
要想在子函數(shù)中改變一個(gè)指針變量的值,必須把該指針變量的地址傳進(jìn)去

int* p;
int **p1;
p1=&p;	//二級(jí)指針的初始化一定是某一個(gè)一級(jí)指針取地址,&p就是一個(gè)二級(jí)指針類型

二級(jí)指針示例:

一級(jí)指針示例:

到此這篇關(guān)于C語言 指針綜合解析的文章就介紹到這了,更多相關(guān)C語言 指針內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中引用和const關(guān)鍵字介紹

    C++中引用和const關(guān)鍵字介紹

    大家好,本篇文章主要講的是C++中引用和const關(guān)鍵字介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • C++的new和delete詳解

    C++的new和delete詳解

    這篇文章主要介紹的是C++的new和delete,可以這么理解 new相當(dāng)于是malloc 、delete相當(dāng)于是free,下面我們就來詳情介紹,,需要的朋友可以參一考
    2021-09-09
  • 匯編語言常見錯(cuò)誤信息中文注解

    匯編語言常見錯(cuò)誤信息中文注解

    這篇文章主要介紹了匯編語言常見錯(cuò)誤信息中文注解,本文收集大部分匯編中常見錯(cuò)誤信息及對(duì)應(yīng)的中文注解,需要的朋友可以參考下
    2014-09-09
  • 淺談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型

    淺談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型

    下面小編就為大家?guī)硪黄獪\談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • C++示例詳解Prim算法與優(yōu)先隊(duì)列

    C++示例詳解Prim算法與優(yōu)先隊(duì)列

    這篇文章介紹了C++ Prim算法、優(yōu)先隊(duì)列,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C語言之平衡二叉樹詳解

    C語言之平衡二叉樹詳解

    平衡二叉樹是具有平衡屬性的有序二叉樹,本文主要介紹了C語言中的平衡二叉樹,具有一定的參考價(jià)值,需要的小伙伴可以參考閱讀
    2023-04-04
  • C++類的分離式寫法介紹示例

    C++類的分離式寫法介紹示例

    今天小編就為大家分享一篇關(guān)于C++類的分離式寫法介紹示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • windows下如何安裝OpenCL

    windows下如何安裝OpenCL

    這篇文章主要介紹了windows下如何安裝OpenCL,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • c++中的system(

    c++中的system("pause")的作用和含義解析

    這篇文章主要介紹了c++中system("pause")的作用和含義,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-03-03
  • C++ opencv圖像處理實(shí)現(xiàn)圖片幾何變換示例

    C++ opencv圖像處理實(shí)現(xiàn)圖片幾何變換示例

    這篇文章主要為大家介紹了C++ opencv圖像處理實(shí)現(xiàn)圖片幾何變換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論