【问题标题】:what is the difference between one length of char*/char[] and char in C?C中的char * / char []和char的一种长度有什么区别?
【发布时间】:2021-02-04 13:57:01
【问题描述】:
char str[] = "a";
char ch = 'a';

说到两者的区别,大家都知道str指向一个存储[a,\0]的内存空间,但是我想问一下str[0]ch有区别吗?

【问题讨论】:

  • str 是一个数组,ch 不是。这是唯一的区别。
  • 只需阅读您的 C 编程书籍的字符串章节...
  • @AyxanHaqverdili 但 OP 询问了str[0]
  • str 没有“指向内存空间”,因为str 不是指针。见:Is an array name a pointer?
  • 我给你一个更好的:不仅是ch == str[0],事实上ch == *strch == 0[str]...str[0]只是访问存储在数组str中的值在偏移量/索引 0 处。这使得类型为 char 和值 'a'

标签: c string pointers char


【解决方案1】:

但是我想问一下str[0]ch有区别吗?

没有。

str[0]ch,两者都是char 类型,并保持值'a'。从这方面(类型和值)来看,没有区别。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 2020-06-26
    • 2019-06-10
    • 2010-12-14
    相关资源
    最近更新 更多