我的c语言学习记录(蓝桥)————指针 下

字符串的引用方式

C 程序中,字符串是存放在字符数组中的。想引用一个字符串,可以使用下面两种方式。

1.用字符数组存放一个字符串,可以通过数组名和下标引用字符串中一个字符,也可以通过数组名和格式声明 “%s” 输出该字符。

例:定义一个字符数组,在其中存放字符串 “I love Shiyanlou!”,输出该字符串和第 10 个字符。

创建 11-1.c 文件并输入以下代码:

#include<stdio.h>

int main(){

    char string[]="I love Shiyanlou!";

    printf("%s\n",string);

    printf("%c\n",string[9]);

    return 0;

}

输入以下命令编译并运行:

gcc -o 11-1 11-1.c

./11-1

程序运行结果如下:

 

程序分析:

在定义字符数组 string 时未指定长度,由于对它初始化,因此它的长度是确定的,长度应为 18,其中 17 个字节存放 “I love Shiyanlou!” 17 个字符(包含空格和感叹号),最后一个字节存放字符串 '\0',数组名 string 代表字数组首元素的地址。

2.用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量。

要求通过字符指针变量输出一个字符串。

编写源程序 11-2.c

#include<stdio.h>

int main(){

    char * string="I love Shiyanlou!";

    printf("%s\n",string);

    return 0;

}

程序运行结果如下:

 

程序分析:

对字符指针变量 string 初始化,实际上是把字符串第一个元素的地址赋给指针变量 string,使 string 指向字符串的第一个字符。 有人误认为 string 是一个字符串变量,以为在定义时把 “I love Shiyanlou!” 这几个字符赋给该字符串变量,这是不对的。在 C 语言中只有字符变量,没有字符串变量。

以下语句 printf("%s\n",string); %s 是输出字符串时所用的格式,在输出项中给出字符指针变量名 string,则系统会输出 string 所指向的字符串第一个字符,然后自动使 string 1,使之指向下一个字符,再输出该字符...如此直到遇到字符串结束标志 '\0',因此再输出是能确定输出的字符到何时结束。

将字符串 a 复制为字符串 b,然后输出字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值