課程
/后端開發
/C
/Linux C語言指針與內存
?為什么使用指針之后地址和所儲存的值換了位置
2016-01-27
源自:Linux C語言指針與內存 3-2
正在回答
指針變量本質上就是一個整型變量,里面存儲的值是另一個變量內存的地址。* 和 & 符號都只是它的語法糖,是用來在形式上方便使用和理解指針的。* 操作符存在兩次內存讀寫,第一次獲取指針變量的值,也就是內存地址,然后再去拿這個內存地址所在的變量內容。
是啊,為何*b卻變成了地址
我把代碼稍微改一下: int* a;
這里的a就是代表指針變量(int*),而不是一個整型變量(int)
所以a存放的是地址,*a才是地址中存放的值(這里的*與第一行的*不同,這個*是取地址的意思)
因為定義時char *是定義的格式,比如char *p中的p是指針變量,而不是*p;引用時p代表的是地址,加上個*則是該地址上的值,即*p;
舉報
指針-C語言的核心,代領大家對c語言有更加深刻的理解
1 回答這個地方為什么a沒變 但是指針變了
1 回答為什么循環中i會自動指向a的內存地址?
1 回答為什么i的輸出位置在a之后,而且i=1?
2 回答為什么str[]被賦值之后又再次賦值就可以覆蓋
1 回答字符型指針變量的賦值問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-02-16
指針變量本質上就是一個整型變量,里面存儲的值是另一個變量內存的地址。* 和 & 符號都只是它的語法糖,是用來在形式上方便使用和理解指針的。* 操作符存在兩次內存讀寫,第一次獲取指針變量的值,也就是內存地址,然后再去拿這個內存地址所在的變量內容。
2019-03-13
是啊,為何*b卻變成了地址
2016-03-06
我把代碼稍微改一下: int* a;
這里的a就是代表指針變量(int*),而不是一個整型變量(int)
所以a存放的是地址,*a才是地址中存放的值(這里的*與第一行的*不同,這個*是取地址的意思)
2016-01-27
因為定義時char *是定義的格式,比如char *p中的p是指針變量,而不是*p;引用時p代表的是地址,加上個*則是該地址上的值,即*p;