IOS基础---C语言学习之字符串与字符串数组

一、字符串

字符串可以看做是一个特殊的字符数组,并在字符串的尾部添加了一个结束标志 '\0'。

 

1. 字符串的初始化

// ‘\0’的ASCII码值是0

    // 都是字符串

    char name[5] = "it";

    char name2[5] = {'i', 't', '\0'};

    char name3[5] = {'i', 't', 0};

    char name4[5] = {'i', 't'};

    char name5[5];

    name5[0] = 'i';

    name5[1] = 't';

    name5[2] = 0;

    name5[3] = 0;

    name5[4] = 0;

   

    // 不算是一个字符串(只能说是一个字符数组)

    char name6[] = {'i', 't'};


 

2. printf函数

printf函数在输出字符串的时候会从所给的字符串地址开始输出,直到遇到 '\0' 时结束输出。如下:

    char name[20] = "helloworld\0welcome";

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

printf("%s\n", &name[3]);

 

输出:

helloworld

loworld

 

分析:

printf 函数在输出字符串时,接收的是字符串的地址。
printf("%s\n", name); 
中的name其实是name[20]数组中的首地址,和&name[0]同一意思,所以从name[0]开始输出,直到'\0'时结束。
printf("%s\n", &name[3]);
也是一样的,从name[3]的位置开始输出,直到 '\0'时结束。

 

3. strlen函数

1> 计算的字符不包括 '\0'
2> 计算的是字符数,并不是字数。一个汉字算作3个字符
3> 从某个地址开始数字符的个数,直到遇到 '\0' 为止


例如:

    int len = strlen("hello"); 

    int len2 = strlen("helloćˆ‘");   

    int len3 = strlen("hello\0world"); 

    printf("%d\n", len);

    printf("%d\n", len2);

printf("%d\n", len3);

输出:

5

8

5

 

分析:
应用1、2、3点就可以理解了

 

二、字符串数组

1. 使用场合

1> 一维字符数组中存放一个字符串,比如一个名字char name[20] = "mj"

2> 如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,char names[15][20]可以存放15个学生的姓名(假设姓名不超过20字符)

3> 如果要存储两个班的学生姓名,那么可以用三维字符数组char names[2][15][20]

 

2. 初始化

char names[2][10] = { {'J','a','y','\0'}, {'J','i','m','\0'} }; 

char names2[2][10] = { {"Jay"}, {"Jim"} }; 

char names3[2][10] = { "Jay", "Jim" };

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值