先看一組**:
#include void main()我們輸入7個數,但輸出的結果卻是隨機數。產生的原因為程式執行完第一組for迴圈後,指標已經指到了陣列後的記憶體單元,如果想要輸出該陣列元素,則需重新將其首位址賦值給p(p=a)。
以下是改正的版本————————————————
當然我們還可以將p++替換為p+i;以下為參考**————————————————
#include void main()其好處是從第二次迴圈後都不需要重新將指標指回陣列首元素。
方法a[0]位址
a[1]位址
a[i]位址
通過陣列元素名
a[0]
a[1]
a[i]
通過陣列名a
*a*(a+1)
*(a+i)
通過指標變數p
*p*(p+1)
*(p+i)
下標法p[0]
p[1]
p[i]
因為p指向a的首位址,即a[0],所以a[i]=>*(a+i)=>*(p+i)。
下一題用p+i有明顯的優勢————————
輸入十名學生成績,計算平均分,輸出高於平均分的成績,使用指標完成該操作。
我們先用p++,可以看到每迴圈一次都得重置p=a;
#include void main()而用p+i的話則不需要————————————
#include voidmain()
關於C語言的指標
一級指標 指標是什麼?在電腦科學中,指標 pointer 是程式語言中的乙個物件,利用位址,它的值直接指向 points to 存在電腦儲存器中另乙個地方的值。由於通過位址能找到所需的變數單元,可以說,位址指向該變數單元。因此,將位址形象化的稱為 指標 意思是通過它能找到以它為位址的記憶體單元 指標...
關於C語言的指標
c語言指標 今天學習了指標,講講我對它的認識。這是乙個指標 int i int p scanf d i p i i是乙個整型變數,p是乙個指標,輸入時賦值給i,p是i的位址。就好比,i是房子的名字,p是房子的位址,輸入的值是放在房子裡的東西。符號 是取位址的意思,在這裡是對i取位址。定義指標的時候,...
c語言中的指標 p
一 什麼是指標 定義乙個變數,系統會為變數分配記憶體單元,記憶體單元的每乙個位元組有乙個編號,這個編號就是位址,所以這個位址就指向該變數單元,位址形象化地稱為 指標 也就是說通過它可以找到以它為位址的記憶體單元。二 指標變數 定義指標變數 基型別 變數名 int name 整型 char name ...