黑马程序员技术交流社区

标题: 黑马程序员_iOS开发C语言基础之字符串 [打印本页]

作者: Lxy    时间: 2014-10-11 12:50
标题: 黑马程序员_iOS开发C语言基础之字符串
1、字符串使用注意
#include <stdio.h>
int main()
{
    char name[] = "itcast";
    name[3] = 'H';
    char name2[] = {'a','b'};
    char name3[] = {'a','b','\0'};    /*
    int size = sizeof(name);
    printf("%d\n",size);//size=7;
    */
    printf("%s\n",name );
    printf("%s\n",name2 );//输出内容包括name,值为abitcHst,原因如下图,%s会从数组名name2首地址,开始输出字符,直到遇到’\0’结束
    printf("%s\n",name3 );
    printf("%s\n",&name2[1]);//与占位符匹配的是地址&name2[1],输出结果  为kit.   
    return 0;
}




void test2()
{
    // \0的ASCII码值是0
    char name[8] = "it";//数组长度为8,使用了3个
    char name2[8] = {'i','t','\0'};//字符串
    char name3[8] = {'i','t',0}; //可以,字符串
    char name4[8] = {'i','t'};//不是严格意义上字符串,但是后默认有6个0;
    char name5[] = {'i','t'}; // 注意不是字符串,只能说是普通的字符数组,不能当做字符串使用。
}
void test()
{
    printf("Jack\n");
    char name[10] = "Jack";
    printf("%s\n",name);
    printf(name);// 把数组传入只是一个警告
    printf("ewewf"); // 默认参数为常量   

}
2、字符串函数strlen使用注意

/*
strlen函数: 计算字符串长度
1.计算的是字符数,并不是字数
2.计算的字符不包括\0
*/
//strlen函数声明在string.h文件中
#include <string.h>
#include <stdio.h>
int main()
{
    //int size = strlen("haha");
    //printf("%d\n",size );
    /*
     char name[] = "itcast";
    int size = strlen(name);
    printf("%d\n",size );// 6
    char name2[] = "it\0cast";
    int size2 = strlen(name2);
    printf("%d\n",size2 );// 2
     */
    char name[] = "itcast";
    char name2[] = {'0','6'};
    int size2 = strlen(name2);
    printf("%d\n",size2 );// 8,因为strlen从name2地址开始数字符,直到遇到\0结束
char name[] = "itcast";

    printf("%c\n",name[2]); //输出为a



}


3、二维数组的使用
char names[2][10]={"jack","rose"};
    printf("%s\n",names[0]); //输出jack
    printf("%c\n",names[0][3]);//输出k,注意不用地址符&
    char name2[2][10]=
    {
        {'j','a','c','k','\0'},
        {'r','o','s','e','\0'}

    };
代码的编写注意点:可读性 —> 性能 -> 精简(重构)不是代码越少,性能越高








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2