爱问知识人 爱问教育 医院库

有关字符串和一维数组的区别。

首页

有关字符串和一维数组的区别。

有关字符串和一维数组的区别。我觉得这两个差不多。

提交回答
好评回答
  • 2008-07-22 10:51:19
      举一个例子说区别:
    char   *a= "abcdefg "; 
    和 
    char   a[]= "abcdefg ";
    char   *a= "abcdefg "; 
    在   常量区有一个字符串   "abcdefg "   , 
    然后定义一个指针   a,   指针的内容为这个常量字符串的首地址。
       注意,这里只是一个指针指向了 常量字符串, 所以你不能对字符串进行修改, 例如 a[i]= '? ' 这样的操作会出错, 但是你可以修改a:char b[10]= " "; a=b; //a指向数组b首地址, OK char a[]= "abcdefg "; 定义了一个数组 a , 把 字符串 "abcdefg " 【这个字符串本身在常量区】拷贝到数组中来。
       这样,你可以修改 数组元素,a[i]= '? ' //OK 但是你不能修改数组名字地址: a=b //error 参考 。

    大***

    2008-07-22 10:51:19

其他答案

    2008-07-22 11:12:21
  •   你好!
    字符串存储与一维数组类型不同。引用也不同。函数更不一样。
    ★一维数组向函数传递的时候是首地址,也就是数组的第一个元素的地址将传递给该函数。并不是将整个数组作为实参来传递,而是用指针来代替,可作为指针理解。对于数组中元素可进行修改。
       ★字符的首地址需要定义指针,指向字符串的首地址,定义了指针,对于字符不能修改。 ★字符串结束有转义字符作为结尾‘/O’。sizeof实际数据类型所占用空间包括结尾/0。 ★字符串中转义字符,作为一个字符。
       转义字符 序列 含义 \n 换行 \r 回车 \b 退格 \f 换页 \t 水平制表 \v 垂直制表 \\ 反斜杠 \? 问号字符 \' 单引号字符 \" 双引号字符 希望对你有帮助。

    我***

    2008-07-22 11:12:21

  • 2008-07-22 10:54:38
  • 差多了
    首先,类型就不一样
    其次,字符串只能存储字符,一维数组的各个元素,可以有不同的类型,可以有字符串,数字,甚至还可以是数组
    

    下***

    2008-07-22 10:54:38

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):