指針的作用
2022-01-27
- 相關(guān)推薦
指針使得一些復(fù)雜的鏈接性的數(shù)據(jù)結(jié)構(gòu)的構(gòu)建成為可能。
有些操作必須使用指針。如操作申請的堆內(nèi)存。還有:C語言中的一切函數(shù)調(diào)用中,值傳遞都是“按值傳遞”的。如果要在函數(shù)中修改被傳遞過來的對象,就必須通過這個對象的指針來完成。
擴(kuò)展資料
指針,是C語言中的一個重要概念及其特點,也是掌握C語言比較困難的部分。指針也就是內(nèi)存地址,指針變量是用來存放內(nèi)存地址的變量,不同類型的指針變量所占用的存儲單元長度是相同的,而存放數(shù)據(jù)的變量因數(shù)據(jù)的類型不同,所占用的存儲空間長度也不同。有了指針以后,不僅可以對數(shù)據(jù)本身,也可以對存儲數(shù)據(jù)的變量地址進(jìn)行操作。
指針是一個占據(jù)存儲空間的實體在這一段空間起始位置的相對距離值。在C/C++語言中,指針一般被認(rèn)為是指針變量,指針變量的內(nèi)容存儲的是其指向的對象的首地址,指向的對象可以是變量(指針變量也是變量),數(shù)組,函數(shù)等占據(jù)存儲空間的實體。
在計算機(jī)中, 所有的數(shù)據(jù)都是存放在存儲器中的, 不同的數(shù)據(jù)類型占有的內(nèi)存空間的大小各不相同。內(nèi)存是以字節(jié)為單位的連續(xù)編址空間, 每一個字節(jié)單元對應(yīng)著一個唯一的編號, 這個編號被稱為內(nèi)存單元的地址。比如: int類型占4個字節(jié), char類型占1個字節(jié)等。內(nèi)存為變量分配存儲空間的首個字節(jié)單元的地址, 稱之為該變量的地址。地址用來標(biāo)識每一個存儲單元, 方便用戶對存儲單元中的數(shù)據(jù)進(jìn)行正確的訪問。在高級語言中地址形象地稱為指針。
地址與指針:
指針相對于一個內(nèi)存單元來說,指的是單元的地址,該單元的內(nèi)容里面存放的是數(shù)據(jù)。在C語言中,允許用指針變量來存放指針,因此,一個指針變量的值就是某個內(nèi)存單元的地址或稱為某內(nèi)存單元的指針。
指針變量及其定義:
指針變量是存放一個變量地址的變量,不同于其他類型變量,它是專門用來存放內(nèi)存地址的,也稱為地址變量。定義指針變量的一般形式為:類型說明符*變量名。
類型說明符表示指針變量所指向變量的數(shù)據(jù)類型;*表示這是一個指針變量;變量名表示定義的指針變量名,其值是一個地址,例如:char*p1;表示p1是一個指針變量,它的值是某個字符變量的地址。