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