[問題] %p 記憶體位置

看板C_and_CPP (C/C++)作者 (Cory)時間14年前 (2012/05/19 14:59), 編輯推噓9(9020)
留言29則, 12人參與, 最新討論串1/1
關於指標 & 記憶體位置的一些概念 幫我看看有沒有理解錯誤 假設 int a = 123; int *ptr = &a; 我想印出 a 的記憶體位置 printf("%p", &a); 這樣是對嗎 ? 那如果 printf("%p", ptr); 它會印出 ptr 所指向的 a 的位置 而非 ptr 本身的位置 要印出 ptr 本身的位置 需要用 printf("%p", &ptr); 對吧 ? 為了證實自己的理解 就簡單測試了一下 http://codepad.org/XG6h3ARZ 貌似沒錯 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.221.54

05/19 15:17, , 1F
沒記錯的話 的確是這樣
05/19 15:17, 1F

05/19 15:45, , 2F
無誤
05/19 15:45, 2F

05/19 16:01, , 3F
int *ptr 我會寫成int* ptr,這樣比較好理解
05/19 16:01, 3F

05/19 16:06, , 4F
int*ptr不好嗎QQ
05/19 16:06, 4F

05/19 16:20, , 5F
int* ptr1, ptr2;
05/19 16:20, 5F

05/19 16:31, , 6F
我覺得 int *ptr 比較好理解阿,當你有多個 pointer 的時候
05/19 16:31, 6F

05/19 16:32, , 7F
不過這個都可以啦,習慣因人而異
05/19 16:32, 7F

05/19 16:37, , 8F
int *ptr 這種形式最大的好處其實是防呆避免
05/19 16:37, 8F

05/19 16:38, , 9F
int* ptr1, ptr2 這種程式碼, 不過其實高興就好
05/19 16:38, 9F

05/19 18:54, , 10F
明明星星就是要跟著變數...
05/19 18:54, 10F

05/19 22:29, , 11F
5F的ptr1是指標,ptr2是普通變數吧?*跟著名稱比較好
05/19 22:29, 11F

05/19 22:42, , 12F
我個人反而不推薦宣告一行就做完 就不會遇到 * 前後問題
05/19 22:42, 12F

05/19 23:11, , 13F
int*是一個type, ptr1 ptr2 都是int* 類型
05/19 23:11, 13F

05/19 23:15, , 14F
我覺得 int *p = 0; 跟 *p = 0; 的差別實在很難講清楚
05/19 23:15, 14F

05/20 00:03, , 15F
樓樓上s大..int* ptr1, ptr2 這樣ptr2是int不是int*
05/20 00:03, 15F

05/20 00:11, , 16F
先typedef int* pint;pint ptr1,ptr2;這樣呢
05/20 00:11, 16F

05/20 00:15, , 17F
這樣就都是int*~~
05/20 00:15, 17F

05/20 02:22, , 18F
int *p = 0; 定義新變數及其初值
05/20 02:22, 18F

05/20 02:24, , 19F
*p = 0; 執行運算。需看運算子優先權,需看有無 overload
05/20 02:24, 19F

05/20 11:25, , 20F
我自己懂,不過解釋的時候常常覺得很講難XD
05/20 11:25, 20F

05/20 11:37, , 21F
那int *ptr[10]; 又要怎麼解釋@@?
05/20 11:37, 21F

05/20 12:15, , 22F
解釋成陣列 [10],不管是運算式還是變數宣告,家世背景還
05/20 12:15, 22F

05/20 12:16, , 23F
是外貌才華,指標參考都不如陣列,除非加上小括號
05/20 12:16, 23F

05/20 21:59, , 24F
.... 第一次看到有人把定義變數語法跟陣列相提並論的
05/20 21:59, 24F

05/20 21:59, , 25F
陣列跟函數同國, 跟平常的定義int用不一樣語法ok?
05/20 21:59, 25F

05/20 22:22, , 26F
定義陣列與定義int的語法,不就只差在[],不一樣是指?
05/20 22:22, 26F

05/21 00:51, , 27F
我相信樓上兩位講的東西是不一樣的XD
05/21 00:51, 27F

05/21 00:52, , 28F
p兄應該是是講優先權的東西
05/21 00:52, 28F

05/21 16:38, , 29F
c大英明
05/21 16:38, 29F
文章代碼(AID): #1FjqJfhv (C_and_CPP)
文章代碼(AID): #1FjqJfhv (C_and_CPP)