char指针和数组的区别

char* str和char str[]的区别

  • char str[]="abcdef",这个数组的存储空间是在栈中开辟的,也就是说它的每个元素一次为'a','b','c','\0',将这几个值复制到str的位置中。

  • 对于char *str="abcdef",str指向的是静态存储区,"abcdef"是位于常量区的,指针str只是指向了这个位置。注意:它与上面的复制不是一回事。既然位于常量区,那么这些值就不能被修改。而上面数组中,要注意的是把字符复制到数组的元素中,那么就是可以被任意修改的。




    参考:char* str和char str[]的区别

posted @ 2018-10-27 18:24  TianchiLiu  阅读(363)  评论(0编辑  收藏  举报