3-1 字符串基本操作

1、字符数组初始化

int main01(int argc, char *argv[])
{
    //1、字符数组初始化
    //1.1 指定长度:会变成以0结尾的字符串,因为后边补了0 所以变成了字符串
    char buf1[100] = {'a','b','c','d'};     //buf[4]-buf[99] 为0
    //char buf2[2] = {'a','b','c','d'};     //如果初始化个数大于内存个数,编译错误

    //1.2 不指定长度:编译器会自动帮程序员 求元素的个数
    char buf3[] = {'a','b','c','d'};        //buf1是一个数组,不是一个以0结尾的字符串


    printf("buf1:%s\n",buf1);
    printf("buf1[88]:%s\n",buf1[88]);
    printf("Hello World!\n");
    system("pause");
    return 0;
}

2、字符串初始化数组

int main02(int argc, char *argv[])
{
    //2、字符串  初始化  字符数组

    //字符数据的长度是5个字节,包括\0 作为字符串是4个字节
    //buf3 作为数组 数组是一种数据类型 本质(固定内存块的别名)
    char buf3[] = "abcd";


    //buf3-sizeof()(操作符求内存空间的大小):5
    printf("buf3-sizeof:%d\n",sizeof(buf3));
    //buf3-strlen(函数求长度):4
    printf("buf3-strlen:%d\n",strlen(buf3));

    //测试块
    {
        char buf4[128]="abcdef";
        printf("buf4[100]:%d\n",buf4[100]);
    }


    printf("Hello World!\n");
    system("pause");
    return 0;
}

3、通过数组下标和指针操作数组

int main(int argc, char *argv[])
{
    //3、通过数组下标和指针操作字符串
    int i = 0;
    char *p = NULL;
    char buf5[128]="abcdef";
    //3.1 下标操作
    for(i=0;i<strlen(buf5);i++)
    {
        printf("buf5[%d]:%c\n",i,buf5[i]);
    }
    printf("-------------------------------\n");
    //3.2 指针操作
    //重要 buf5:代表数组首元素的地址    &buf5:代表整个数组的地址
    //buf5和&buf5代表的数组类型不一致
    p = buf5;
    for(i=0;i<strlen(buf5);i++)
    {
        printf("buf5[%d]:%c\n",i,*(p+i));
    }
   printf("-------------------------------\n");
    for(i=0;i<strlen(buf5);i++)
    {
        printf("buf5[%d]:%c\n",i,p[i]);
    }
    printf("Hello World!\n");
    system("pause");
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值