2010年11月9日 星期二

陣列不等於指標


 作者  loveflames (咕啾咕啾魔法陣)                            看板  C_and_CPP
 標題  Re: [語法] 有關陣列與指標的問題
 時間  Tue Nov  9 17:39:06 2010
───────────────────────────────────────

※ 引述《pioneerLike (~小耿~)》之銘言:
: 不知道怎麼下標題好
: #include <stdio.h>
: #include <stdlib.h>
: #include <string.h>
: int main() {
:   char *a = new char[100];
:   char *b = (char *)malloc(100*sizeof(char));
:   char c[100] ;
:   printf("[%p] [%p]\n",a,&a) ;  // not same
  stack         heap
&a| a |       a|*a |
:   printf("[%p] [%p]\n",b,&b) ;  // not same
  stack         heap
&b| b |       b|*b |
:   printf("[%p] [%p]\n",c,&c) ;  // the same
&c是指標
指到第一個元素
c是陣列
只是這裡被compiler換成指標
:   system("PAUSE");
: }
: 小弟百思不得其解,查了很多資料依然不明白其中原理的差異,請板友解惑,謝謝=]
來,跟我說一次"陣列不等於指標"

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.74.195
→ meconin:其實有趣的應該是 (c = &c = *&c) != (*c = **&c)          11/09 18:05
→ meconin:推錯篇 ...                                              11/09 18:09
→ loveme00835:樓上... http://ppt.cc/Sa(,                          11/09 18:30
→ meconin:把 include 換回 c 的。http://codepad.org/McSEbBKk       11/09 18:42
→ loveme00835:傻眼...                                             11/09 19:06
→ loveflames:那我要推一下這個 http://codepad.org/QZw62kPG         11/09 19:07

沒有留言:

張貼留言