char a[ ]="abcd"和char *p="abcd"是否完全等价

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/18 11:10:48

char a[ ]="abcd"和char *p="abcd"是否完全等价
char a[ ]="abcd"和char *p="abcd"是否完全等价

char a[ ]="abcd"和char *p="abcd"是否完全等价
第一个是一个char数组,第二个是char指针,看上去是不一样,但是用法基本相同,不过也不是完全等价,比如:
a是数组首地址,即和指针p的地址相同,也可以用a++和p++来访问每一个成员等等,当然也有区别
可以用a[0],a[1]访问每一个成员,用p则不可以,他们之间的类型可以转换,比如:
char a[] = "abcd";
char *p = a;
看你的使用场合,来决定使用数组还是指针来进行操作,一般是先定义char数组,因为用char指针转换成char数组会很麻烦,先定义数组可以轻易的转换为指针,操作比较灵活.