char*ab="abc" ;char ab[ ]="abc";这两个表达式有什么区别呢?关于字符串的(ab是常数,*ab是指针之外...

2025-03-01 05:28:06
推荐回答(6个)
回答1:

最主要的区别是第一个赋值,你得不到想要的结果。
char *ab="abc";
你这样赋值,只能保留一个字母a
第二个倒是能得到你想要的结果

回答2:

char*ab="abc"这是一个字符数组,占3个字节。
char ab[ ]="abc"则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节

回答3:

字符串的表示形式
一个是用字符数组实现
一个是用字符指针实现
字符指针初始化:把字符串首地址赋给ab
第一个是地址变量,;存放字符串首地址第二个是地址常量,由若干元素组成,每个元素放一个字符

回答4:

*ab :系统只会给这个指针变量分配一个存储单元,并且这个存储单元中存放的数据时字符'a'的地址
ab :系统会为ab分配4个存储单元用来存放'a','b','c','\0'

回答5:

没区别,用起来是一样的

回答6:

没区别