1. 字符数组的定义与初始化

Char str[10] = {‘a’,‘b’,‘c’,‘d’,‘e’};

如果说提供的字符的个数大于数组的长度,就按语法错误处理,如果小于数组的长度,不够的位置用空字符补全’\0’

  1. 字符数组与字符串

    1)、C语言中将字符串当做字符数组来处理,字符串的结束标志是‘\0’,而前面的所有字符组成字符串,不算’\0’

    2)、对于字符串常量的话,系统会自动在字符串的结尾加’\0’,作为结束符,但是内存大小=字符的个数+1(’\0’)

备注:’\n’的ACSS是0的字符,ASCII是0的字符是不可显示,它只是用来辨别字符串结尾的标志

实例:字符串数组的初始化

char str[] = {“abc def”};

char str[] = “abc def”;

但是上面的例子只能用于初始化一个字符数组,并不能用于赋值,像下面的例子就是一个错误:

         Char str[];

         Srt=”abc def”;

 所以字符数组只能对其元素一个一个赋值,除此之外字符串的大小是字符个数+1因为系统自动加’\0’

下面的例子与上面的初始化等价

Char str[] = {‘a’,’b’,’c’,’ ’,’d’,’e’,’f’,’\0’};

与Char str[] = {‘a’,’b’,’c’,’’,’d’,’e’,’f’}的大小不同;

  1. 字符串的表示形式

    C语言中存放字符串的方式:

    1)、字符数组

    Charstr[] = “abc def”;

    2)、字符指针指向一个字符串

    Char*str = “abc def”;

    说明一下 str此时不是一个变量了,事实上它在内存的常量区,str指针指向该块内存,将字符串的首地址赋给srt

    字符串的输出方式

    printf(“%s\n”,str);这是给出了字符串的首地址,系统输出字符数据后,然后然后str自动+1指向下一个字符,直到遇到字符标志’\0’

  1. 字符串的赋值方式

    再此必须明确字符数组里放的是数组的成员,而字符指针只是放的指向字符串的首地址

    其次字符数组绝对不能赋值

    对字符数组只能对各个元素赋值,不能用以下方法对字符数组赋值
         char str[14];
         str="I love you";     (但在字符数组
    初始化时可以,即char str[14]="I love you";)

数组名是常量,故不能直接赋值,故只能用strcpy(因数组已提前分好内存了)
     而对字符指针变量,采用下面方法赋值:
     char* a;
     a="I love you";

指针是变量,故可直接赋值,但不能用strcpy(因指针没有分配内存,除非提前分配好如上)

Char buf[10];

Char *str=buf;

Strcopy(str,”I love you”)

 



字符串字符数组的赋值相关推荐

  1. C语言字符型数组ppt,C语言第13讲指针与字符串(字符数组).ppt

    C语言第13讲指针与字符串(字符数组).ppt 6.2.3 指针与字符串(字符数组) C语言用字符数组存放字符串. 字符数组元素个数确定,一般用下标控制循环. 字符串有效字符个数由0确定,用结束符0控 ...

  2. C++ 复制字符串/字符数组

     题目 [项目1-小心地放开玩字符串/字符数组] (2)读程序,请分析其实现的功能 [cpp] view plaincopyprint? #include<iostream> usin ...

  3. 字符 字符串 字符数组 字符串指针 指针数组

    一.字符指针.字符数组 字符指针:字符串指针变量本身是一个变量,用于存放字符串的首地址.而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以'\0'作为串的结束. char *ps=" ...

  4. 【C/C++: 字符数组的赋值】

    字符数组的几种赋值方式 1.直接赋值: char s[]="abc"; 2.利用字符串处理函数:strcpy函数: (1)原型:char *strcpy(char *dest,co ...

  5. 字符串字符数组和基本类型的相互转换

    1.基本类型转为字符数组或字符串 ❶整形转为字符数组: char *itoa(int value, char *string, int radix); value 将要被转换的值.string 转换的 ...

  6. JAVA关于字符串字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...

  7. java 字符串转list_浅谈java 字符串,字符数组,list间的转化

    1.关于java.lang.string.split xxx.split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.字符串转字符数组 String str =" ...

  8. 小心地放开玩字符串/字符数组(二)某类字符的个数

    /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:徐凯旋 * 完成日期:2012 年 12 ...

  9. C++ 不能通过给字符数组名赋值的方法给字符数组赋值

    已知有数组定义:char a[3][4]; 形如:"a[0] = "AAA";"的赋值语句是错误的,因为在C++中,无法通过给字符数组名赋值来实现给字符数组每一 ...

最新文章

  1. ASSERT()是干什么用的
  2. 包含min函数的栈 python_面试题_设计包含 min函数的栈
  3. 记录一次生产发布事件——(简单的非空验证也能引发大问题)
  4. git ssh配置文件 服务器_git登录ssh服务器
  5. JSON是什么?如何产生的?
  6. Scanner的用法强化
  7. 【Python】Python3.7.3 - sys.path 模块搜索路径详解
  8. linux 格式化查看json文件数据
  9. 大一计算机理论总结,大一计算机理论基础总结论文.doc
  10. delphi xe5 android,android – 发送电子邮件Delphi XE5
  11. 在html中怎样加表格斜线表头,如何在Word表格中插入斜线
  12. 【Python 】常用命令、函数和格式(记忆版)
  13. 广告公司到底干什么的?欣奥诚分享
  14. Python的七大就业方向,小白适合哪个方向?学了Python能干什么?
  15. python笛卡尔_Python 计算笛卡尔积
  16. 【akka】akka源码 Akka源码分析-FSM
  17. 【机器学习】【ICA-2】ICA独立成分分析的原理 + ICA前的预处理(中心化+漂白)
  18. delphi RichEdit控件中插入GIF动画表情
  19. <Java开发环境配置>6-SQLyog安装教程
  20. java获取当前月的开始时间和结束时间

热门文章

  1. 【物联网中间件平台-02】YFIOs技术白皮书(V1.1)
  2. accept()函数
  3. [USACO1.3]虫洞wormhole
  4. CF1326E Bombs(思维题)
  5. 互联网 B C端产品对比分析
  6. Windows Batch 常用命令
  7. 〖Python网络爬虫实战③〗- 爬虫的基本原理
  8. 深度学习(五):FastFCN代码运行、测试与预测
  9. 4.19@深圳 | 品牌出海正当时,如何更有方向感?
  10. Excel文件格式和扩展名不匹配