• 问题总会出现,不过解决问题的方法也会出现!!!

代码练习-44-字符串指针介绍及使用

代码练习 小雨 273次浏览 已收录 0个评论

—— ——-

//
//  main.c
//  C语言-字符串指针介绍及使用

#include 
#include 
#include 

int main(int argc, const char * argv[]) {
    //str只保存字符串的首地址
    char *str="I Love You !";
    //指针变量都占用8个字节
    printf("sizeof(str) = %ldn",sizeof(str));
    //用string库函数strlen才能正确计算长度
    printf("str len = %ldn",strlen(str));
    printf("%sn",str);

    char ch[]="abc";//字符串数组是存在栈区的,所以可读可写
    ch[2]='Z';
    printf("%sn",ch);

    //但是
    //*(str+2)='X';//这样写是错误的,因为字符串指针是存在常量区的不可以更改
    //在常量区保存的数据都是只读的
    printf("%cn",*(str+2));//L

    //str2没有赋值,是野指针
    char *str2=NULL;
    //要使用函数malloc();必须先导入头文件#include 
    //这句话的作用是先申请了100个字节的内存给str2,那么str2的首地址就指向了这100内存的首地址
    str2=malloc(100);
    scanf("%s",str2);
    printf("%sn",str2);

    //或者用这种方法
    char ch3[100];
    char *str3=ch3;
    scanf("%s",str3);
    printf("%sn",str3);


    return 0;
}

本博客内容既有转载自网络的内容,也有本作者原创内容,仅供学习与交流之用
如有侵权或者错误之处,请及时在下方留言!
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址