• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C语言回顾-字符串指针

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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\n",*(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\n",arr[i]);
    }
    printf("\n");
    sortString(arr,4);
    
    for(int i=0;i<4;i++){
        printf("%s\n",arr[i]);
    }

    return 0;
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
转:C#WinForm获取当前执行程序路径的几种方法发布时间:2022-07-13
下一篇:
c++new和delete操作符的重载发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap