指標鐵律專題

2021-08-14 03:29:14 字數 1194 閱讀 1724

1) 指標也是一種變數,占有記憶體空間,用來儲存記憶體位址

測試指標變數占有記憶體空間大小 2)

*p操作記憶體

在指標宣告時,*號表示所宣告的變數為指標

在指標使用時,*號表示 操作 指標所指向的記憶體空間中的值

*p相當於通過位址

(p變數的值

)找到一塊記憶體;然後操作記憶體

*p放在等號的左邊賦值(給記憶體賦值)

*p放在等號的右邊取值(從記憶體獲取值)

3)指標變數和它指向的記憶體塊是兩個不同的概念

//含義1給

p賦值p=0x1111;

只會改變指標變數值,不會改變所指的內容;

p = p +1; //p++

//含義2給

*p賦值

*p='a';

不會改變指標變數的值,只會改變所指的記憶體塊的值  

//含義

3 =左邊

*p表示 給記憶體賦值,=右邊

*p表示取值 含義不同切結!

//含義

4 =左邊

char *p

//含義

5保證所指的記憶體塊能修改

4)指標是一種資料型別,是指它指向的記憶體空間的資料型別

含義1:指標步長(

p++),根據所致記憶體空間的資料型別來確定

p++=è(unsigned char )p+sizeof(a);

結論:指標的步長,根據所指記憶體空間型別來定。

*號像一把鑰匙,*p, p就像一扇門,通過鑰匙開啟門後面的記憶體空間

void main()

;   //存放在臨時區,棧區,buf1的值為0

char buf2[100] = ; //存放在臨時區,棧區,buf2的值為0

char *p1 = buf1;         //指標p1指向buf1的記憶體空間

char *p2 = buf2;        //指標p2指向buf2的記憶體空間

strcpy(buf1, "abcdefg");

while(*p1 != '\0')   //這個迴圈就是判斷是否是已'\0『為結尾的,

p1++,p2++,這裡指標後移一位,不是記憶體所在位址,後移一位,而是改變指標記憶體變數的值,向後移動一位。p是變數,*代表指標。

如果不對,歡迎指教

printf("buf2:%s", buf2);

system("pause");

指標鐵律demo01 c 簡介賦值

include stdlib.h include stdio.h include string.h 函式呼叫時,形參傳給實參,用實參取位址,傳給形參,在被呼叫函式裡面用 p,來改變實參,把運算結果傳出來。指標作為函式引數的精髓。c語言特有的想象,是c語言的精華。把實參取位址傳給形參 在函式呼叫的時候...

成事的百條鐵律(41 60)

鐵律41 站在客戶的立場上設計需求,而不是追著客戶問需求 通常情況下,服務和產品的提供者總比客戶要專業得多。我們以客戶為中心,就是要站在有益於對方的立場上,提出各種建議方案供其選擇,而不是天天追著客戶問需求。這樣一來,既能提高溝通效率,又可以保證服務質量。鐵律42 流通領域的創業者也要重視自身品牌建...

SQL Server索引管理六大鐵律

索引是以表列為基礎的資料庫物件。索引中儲存著表中排序的索引列,並且紀錄了索引列在資料庫表中的物理儲存位置,實現了表中資料的邏輯排序。通過索引,可以加快資料的查詢速度和減少系統的響應時間,可以使表和表之間的連線速度加快。但是,不是在任何時候使用索引都能夠達到這種效果。若在不恰當的場合下,使用索引反而會...