Marlous
生气的小饼干
采纳率100%
2016-03-26 07:34 阅读 1.4k
已采纳

关于C语言 指针数组的小问题

指针数组赋值(字符串)后,可以单独引用某一个字符串中的第X个字符(单个字符)吗?输出必须用%s 不能用%c ??

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    qq423399099 小灸舞 2016-03-26 07:55

    楼主是要这种吗?

     char *str[3] = {"skjf", "sd", "askjfssf"};
        printf("%c\n", str[0][3]); //打印出f
        printf("%c\n", *(str[2] + 3));//打印出j
    
    点赞 评论 复制链接分享
  • w1eix1iao w1eix1iao 2016-03-26 09:01

    如果在编译器中定义了一个字符串常量"abc",那么这个字符串常量表示的是一个地址,也就是你可以使用"abc"[2]这样的方式来访问这个字符串(
    2["abc"]的效果是一样,都是访问第3个字符)。
    按照楼主的说法定义一个数组,那么数组中的每个元素都是一个字符串的首地址,可以使用我说的方法访问这个字符串的每个字符。
    需要注意的是,这和c语言的二维数组的概念是不一样的,因为数组里面放的是每个字符串的首地址,并非真正的字符串。也就是说字符串的内存并没有包括在这个数组里面。值得一提的是,数组中每个元素的长度都是32bit(因为是指针)。

    点赞 评论 复制链接分享

相关推荐