如何初始化局部变量c语言_【C语言更新】C语言中如何来定义一个指针,并且对其进行初始化...
生活随笔
收集整理的這篇文章主要介紹了
如何初始化局部变量c语言_【C语言更新】C语言中如何来定义一个指针,并且对其进行初始化...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文/Edward上一節中,我們利用了一個小知識來介紹了一下指針,在上面這個例子中,小明和小麗手中的這個杯子就好比我們C語言中的變量,它確實是實實在在存放一些有具體意義的數據。這個杯套就類似于C語言中指針的作用,假設我們由100個這種杯子的內膽,里面分別存放了不同類型的飲料,那么我們想要拿取其中某一杯飲料時,只需要手中有1個杯套,就可以取不同的飲料了。再來說下函數參數傳遞的問題。在C語言中,每個變量被定義好之后(Auto類型定義),編譯器便會在內存的棧區為它們開辟出來內存空間來存放這些變量。這些內存空間不管是連續的還是斷續的,它們都會被分配不同的地址。而如果這些變量作為形式參數傳入函數的時候,實際上僅僅是把變量里面存放的常數傳遞給函數,而函數內部的臨時變量又是這個函數被初始化的時候創立的,和調用處的傳遞變量不是同一個,因此不管再怎么去改寫形式參數里面傳遞進來的內容,本質上只是改變函數內部這些局部變量的內容。函數的參數傳遞指針從一開始被設計出來的時候,其目的不是用來存儲某一個具體的常量或變量,它的目的只有一個,就是存放相應變量的地址,即這個變量的內存地址。我們定義完成一個變量之后,就可以將這個指針指向這個變量了。所謂指向某個變量,說直白點就是將這個變量的地址存入指針中。當我們在用指針作為數據交換函數的傳遞參數時,它其實傳入的是這兩個變量的地址,而在函數中我們在做這兩個變量內容交換時,傳遞進入函數的指針變量的值是不會變的,還是存放最初的這兩個變量的地址,但是當我們做交換操作時,就將原本存在地址A中的變量放入了地址B,將原本存放在B中的變量放入了地址A。指針變量形式參數執行流程所以說,我們在交換兩個變量的內容時使用指針形式參數去傳遞參數,從現象上來看貌似是將兩個形式參數的內容交換了,但是從本質上來看,指針形式參數的內容其實是沒有任何變化的,變化的只是這兩個指針所指向的內存中的內容進行了改變。理解了這個函數的指針形式參數,接下來的內容就很理解了。指針的定義需要用到一個特殊的符號“*”,這個符號和運算符中的乘法運算符是同一個,以后在使用的時候需要注意。這個“*”指針運算符在做指針運算的時候具有兩種含義,我們先來講述下在定義指針變量時的用法。指針變量的定義方式為:數據類型 *指針變量名 = 初始化值;如定義一個指針變量“a_pt”,讓其指向int類型變量a。根據上面所寫的,定義一個名叫“a_pt”的指針變量很簡單,但是首先要去確定定義的這個指針變量的數據類型,一般地,我們用這個指針變量指向什么類型的變量,就將其定義成那個相應的類型。這里我們所指向的變量是int類型的,因此將這個指針變量定義成int類型。第二點需要注意的是如何將這個指針變量初始化的時候就指向變量a,前面我們說過,指針變量最終的目的就是用來存儲變量的地址,因此只需要在指針變量“a_pt”初始化的時候,將變量a的地址賦給這個指針變量即可。那么如何獲取變量a的地址呢?只需要在變量前面加“&”符號即可返回變量a的地址。我們可以寫個簡單的程序,先定義一個變量a,然后用“&”符號獲取其地址,再將這個地址打印出來。獲取變量地址并打印在我們順利獲取到變量地址之后,只需要將這個地址直接賦值給我們定義的指針變量即可。指針變量的定義我們定義了一個整形類型的指針,并且將其指向變量a。當然,根據我們指向對象的不同,我們還可以定義如char類型,long類型,float類型這些簡單的數據類型指針,甚至還可以定義后面會學習的指針數組,結構體指針等復雜的數據類型指針。
總結
以上是生活随笔為你收集整理的如何初始化局部变量c语言_【C语言更新】C语言中如何来定义一个指针,并且对其进行初始化...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3d展示网页开发_超实用:一篇文章带你了
- 下一篇: python to_excel新增she