char指针和数组的区别

char* str和char str[]的区别

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

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




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

猜你喜欢

转载自www.cnblogs.com/TianchiLiu/p/9862644.html
今日推荐