p=&a; //將變數位址賦值給指標
p=array; //將陣列位址賦值給指標
p=&array[i]; //將陣列元素賦值給指標
p1=p2; // 將指標位址賦值給指標
# include //引用函式庫
void main()
f0889414 f0889414 f0889414
10 10 10
*(p+1)
和*p++
意義不相同,前者沒有改變p的位址,而後者改變了p的位址
#include int main(int argc, char *argv)
; int* p = arr;
//指向陣列的指標,當操作指標的時候,間接操作
for (int i = 0; i < 10; i++)
system("pause");
return 0;
}
指標的自增和自減運算只有在陣列中才有意義,因為陣列中的元素型別是一定的,就是指標的+1前進的長度是一定的。
這也解釋了為什麼陣列的型別是要求一致的
指標++就是按照乙個指標型別的大小,前進乙個型別的大小,如果是int就前進四個位元組
# include //引用函式庫
void main();
printf("%x\n",a);//列印陣列的首位址
for (int i = 0;i<5;i++)
for (int *p =a;p指標降級操作,就是值的操作
*p=100;
*(p+1) =200;
p[5]=300;
*(p+5)=300;
指標運算 c語言
指標運算 加法 每一次加1 就是所指向的首位址加乙個sizeof 型別 int a 10 int p a p i a 0 i 減法同上 但是同樣要注意範圍的情況 值得注意的是 也有兩個指標做減法 但是兩個指標相減的意思是位址的差值 sizeof 型別 的優先順序很高 但是沒 高 p 常用於陣列的的連...
C語言指標運算
int a int p a include intmain int p a printf p p n p printf p 1 p n p 1 printf p d n p p a 0 printf p 1 d p 1 p 1 a 1 return0 輸出 p 000000000062fe00 p ...
C語言指標 指標的運算
include int main void 執行這段 會出現錯誤嗎?如果出現錯誤,是什麼錯誤?分析 printf一種常規的用法就是printf please input a data 這種用法相信很多人都使用過,但是將這種用法分析一下,這樣的用法printf函式接收到的引數是乙個常量字串的首位址,然...