这里和数组名退化为指针有所不同。首先我们定义 char *s="abc" 。s本身是一个char类型的指针,值为字符串 "abc" 的地址(首地址),当然首地址也可以用 &s[0] 表示。但此时&s表示的是指针的指针,即为指针s的地址。
值得一提的是,打印字符串时, printf("%s",s) 是直接把指针s传递,而打印数组printf("%d",a[i]) 仍然需要把每个元素a[i]传递。
这里和数组名退化为指针有所不同。首先我们定义 char *s="abc" 。s本身是一个char类型的指针,值为字符串 "abc" 的地址(首地址),当然首地址也可以用 &s[0] 表示。但此时&s表示的是指针的指针,即为指针s的地址。
值得一提的是,打印字符串时, printf("%s",s) 是直接把指针s传递,而打印数组printf("%d",a[i]) 仍然需要把每个元素a[i]传递。