• C语言回顾-字符串指针


    1.字符串指针

    char *变量名="字符串内容";

    char ch='b';

    char *p1=&ch;

    char *str="C Language";//表示s指向字符串的首地址

    str="ssssssss";//字符串存在常量区,可以修改s指向的内容

    *(str+2)='X';//可以*(str+2)这样访问,但是不能修改。常量区保存的内容都是只读的

    常见误区:

    char *str2=NULL;

    printf("%s",str2);//这样写是错误的,str2没有分配内存空间去存储变量

    解决办法:

    char *str2=NULL;

    str2=malloc(100);

    printf("%s",str2);

    或者:

    char ch3[100];

    char *str2=ch3;

    printf("%s",str2);

    2.二维字符数组

    char ch2[3][10]={"abc","def","kkk"};

    3.char类型的指针数组和字符数组的区别

    char *name[3]={"abc","def","kkk"};//一维指针数组,每个元素存储字符串首地址

    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        char *name[3]={"abc","def","kkk"};
        for(int i=0;i<3;i++){
            printf("%s
    ",*(name+i));//name[i]
        }
    
        return 0;
    }

    1)字符串指针char *ss="abc";指向可以改变ss="ssssss";

    2)字符数组char s1[]="abc"; s1是一个常量,不能被赋值,s1="Helll";是错误的,

    4.字符串排序

    //
    //  main.c
    //  字符串排序
    //
    //  Created by fanyafang on 15/11/4.
    //  Copyright © 2015年 itcast. All rights reserved.
    //
    
    #include <stdio.h>
    #include <string.h>
    
    void sortString(char *arr[],int length){
        char *temp="";
        //选择排序
        for(int i=0;i<length;i++){
            for(int j=i+1;j<length;j++){
                if(strcmp(arr[i], arr[j])>0){
                    temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }
    }
    
    int main(int argc, const char * argv[]) {
        char *arr[]={"China","America","Flash","Toop"};
        
        for(int i=0;i<4;i++){
            printf("%s
    ",arr[i]);
        }
        printf("
    ");
        sortString(arr,4);
        
        for(int i=0;i<4;i++){
            printf("%s
    ",arr[i]);
        }
    
        return 0;
    }

     

  • 相关阅读:
    基于HTTP的上载和下载
    HttpContext.current中的applicationstate的运用
    获取汉字拼音首字母
    一个文件上传的类
    HttpContext.current.request[""]
    文件转换为流,流通过字节转换为文件
    字节数组和字符串的相互转化……
    时间精确到毫秒的写法
    设计模式之Builder(转载)
    Windows XP中配置PHP+IIS环境
  • 原文地址:https://www.cnblogs.com/fanglove/p/4936372.html
Copyright © 2020-2023  润新知