"basil",
"broccoli",
"beanes"
};
一种有用的方法是建立指针数组,字符串常量可以数组初始化值:
char *vegetables[] =
{
"beet",
"barley",
"basil",
"broccoli",
"beanes"
};
以上是人家的文章的内容,看完之后肯定感觉很不错吧,在上面的内容之余我再补充点东西:
对于:
char heart[] = "asdfasdf";
char *head = "gggggggggg";
由上面的文章我们可以知道,使用数组的方法和指针的方法都可以,即:可以用heart[i],head[i],又可以使用*(heart+i),*(head+i),但是是不是都可以自加或者自减 哦?
不是
指针可以,开始我们说了指针可以认为是游离的,所以他本身的值可以变化,而自加就是让指针的首地址变化,但是数组是固定的,要变化一个数组的首地址就要用到双指针,如**heart,这里不说,试图用单指针变化数组的首地址是不行的。
另外,可以把一个数组赋值给指针,但是不可以把一个指针赋值给数组,也是这个道理!这也就是为什么指针申明和定义分开进行可以,如:
char *p;
p = "asdf";
但是指针不可以如
char p[5];
p = "asdf";//试图改变数组的首地址!wrong!