C語言第三週,指標

2021-07-16 13:00:50 字數 980 閱讀 7780

一、指標:

指標是乙個變數,其值為另乙個變數的位址,即,記憶體的位置的直接位址。就像其他變數一樣,必須在使用指標儲存其他變數位址之前,對其進行宣告。

指標可以簡化一些c程式設計任務的執行,動態記憶體的分配沒有指標的話是無法完成的;所以學好指標是很有必要的。

每乙個變數都有乙個記憶體位置,每個記憶體都可以用&取出位址;

#include

intmain

()

指標的型別有:

int*ip

;/* 乙個整型的指標 */

double*dp

;/* 乙個 double 型的指標 */

float*fp

;/* 乙個浮點型的指標 */

char

*ch

/* 乙個字元型的指標 */

指標的資料的值都是實際資料型別,都是乙個代表記憶體位址的十六進製制數,不同型別的指標指向的變數或常量的資料型別不一樣。

null指標:

在宣告變數的時候,如果沒有確切的位址可以賦值,為指標變數賦乙個null值是乙個良好的程式設計習慣。賦為null值的指標被稱為空指標。

在大多數的作業系統上,程式不允許訪問位址為0的記憶體,因為記憶體是作業系統保留。然而,記憶體位址0有特別意義,表明指標不指向乙個可訪問的記憶體位置。

指標可以用邏輯關係運算子進行運算和比較

指向指標的指標

指向指標的指標是一種多級間接定址的方式,或者說是乙個指標鏈。通常,乙個指標包含乙個變數的位址。當我們定義乙個指向指標的指標時,第乙個指標包含了第二個指標的位址,第二個指標指向包含實際值得位置。

指標陣列中的每乙個元素均為指標,即有諸形如「*ptr_array」的指標。

指標陣列中的元素亦可以表示為「*(*(ptr_array+i))」。又因為「()」的優先順序較「*」高,且「*」是右結合的,因此可以寫作**(ptr_array+i)。

由於陣列元素均為指標,因此ptr_array是指第i+1個元素的指標。

C語言1第三週作業

1.1.1 7 4階梯電價 實驗 截圖 1.1.2 資料表達 該題我使用了x與cast兩個變數,x為使用者月用電量,cast為應付電費值,x與cast都是雙精度浮點型變數。資料處理 該題資料解析了分段函式表示式,使用了if else語句的條件流程結構。1.2.1 7 6三天打魚兩天曬網 實驗 截圖 ...

C語言學習(三) 指標

指標的定義int p char p float p指標變數所佔記憶體的大小 跟前面定義的型別無關 而跟系統有關 16bits作業系統 2b 32bits作業系統 4b 64bits作業系統 8b 指標指向乙個值所在的第乙個位元組 通常乙個位址存放乙個位元組 const修飾指標 指標指向乙個字串時 如...

C語言複習(三) 指標(一)

指標在c語言中是比較重要的,個人認為,c語言中最重要的是記憶體,如何操作記憶體是至關重要的,指標是c語言的精華,學好了指標才可以說c語言入了門。接下來認真總結一下c語言中指標的用法。資料型別的本質是固定大小記憶體塊的別名,指標毫無例外,指標也是占有記憶體空間的,在32位機器中,指標是佔4個位元組的,...