發新話題

[問題] 字串陣列的位址問題

字串陣列的位址問題

#include<stdio.h>
#include<stdlib.h>
int main (void)
{
    char s[3][10]={"tom","lily","james lee"};
    int i;
    for (i=0;i<3;i++)
        printf("s[%d]=%s\n",i,s);
    printf("\n");
    for (i=0;i<3;i++)
    {
        printf("s[%d]=%p\n",i,s);                              這一行跟下一行的問題
        printf("address of s[%d][0]=%p\n\n",i,&s[0]);          上一行跟這一行的問題
    }
    system("pause");
    return 0;
}
感覺看不懂 這是我課本的範例
為啥s跟&s[0]的位址會一樣呢?

TOP

不知道這樣說對不對:

Array[4][4]:
是指有『25個』可以放『東西』的『地點位置』,不是實際上的『值』。
所以《Array == Array[0][0]的『位置』》,也就是『Array == &Array[0][0]』。

其中《[0][0]》已經表示『位置』了,所以《Array[0][0]》代表的是『值』。
而《Array》是『簡化』的寫法,只是為了『方便』而已,當然也容易造成『誤解』。

所以為了不要造成以後的『麻煩』,還是『盡量』用《Array[0][0]》的形式比較好。

[ 本帖最後由 linuxice 於 2009-6-30 17:51 編輯 ]

TOP

thx 聽懂了 哈哈

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。