1、什么是字符串

  2、字符串与普通字符数组的区别

  3、字符串的定义方式

  4、字符串的使用

  5、什么是字符串数组

  6、字符串数组的赋值

  7、字符串数组的遍历

1、什么是字符串

  • 用双引号引起来的多个字符,以‘\0’结尾

–"I am a string.\n”
–"a string""other string" ==> "a string other string";

–"a string \

string" ==> "a string string"

2、字符串与普通字符数组的区别

  • 字符数组

–是字符类型的数组

–每个数组元素保存一个字符

  • 字符串

–是字符指针变量

–指向字符串中第一个字符的地址

  

3、字符串的定义方式

  • 字面值 "Hello”

printf("Hello");

  • 使用字符数组来定义数组

char str[10]={'H','e','l','l','o','\0'};

  • 使用字符指针

char* str2 = str;

4、字符串的使用

  • 声明的变量,放在内存中的栈区。

  • 字面值方式创建的字符串,放在内存中的代码区,如果创建的是字符串,并且值是相同的,只会创建一个内 存区域,其值是只读的,值不可以改变。

  • 使用数组方式创建的字符串,放在内存中的栈区,可以 创建多个相同的字符串,其值可以改变。

  • 字符指针,只是指向了内存的一个区域。

5、什么是字符串数组

  • 指针数组(字符串数组)

  • 数组中的元素是指针->指针又是字符串->字符串数组

  • 保存多个字符串地址

6、字符串数组的赋值

int main() {

  //字符串数组
  char* strs[5] = {"aaa", "bbb", "ccc", "ddd", "eee"};

  printf("sizeof(strs[0]=%ld\n",sizeof(strs[0]));

  strs[0] = "AAA";

  return 0;

}

  

7、字符串数组的遍历

int main() {

  //字符串数组
  char* strs[5] = {"aaa", "bbb", "ccc", "ddd", "eee"};

  for (int i=0; i<5; i++) {

    printf("%s ", strs[i]);
  } 

  return 0;

}

C语言基本语法——字符串的更多相关文章

  1. Swift3.0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  2. Swift3.0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  3. Swift3.0语言教程获取字符串编码与哈希地址

    Swift3.0语言教程获取字符串编码与哈希地址 Swift3.0语言教程获取字符串编码与哈希地址,以下将讲解字符串中其它内容的获取方法. 1.获取字符串编码 在NSString中可以使用2个属性获取 ...

  4. Swift3.0语言教程获取字符串长度

    Swift3.0语言教程获取字符串长度 Swift3.0语言教程获取字符串长度,当在一个字符串中存在很多的字符时,如果想要计算字符串的长度时相当麻烦的一件事情,在NSString中可以使用length ...

  5. Swift3.0语言教程使用字符串创建和初始化字符串

    Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是 ...

  6. OC语言-04-OC语言-核心语法

    一.点语法 1> 基本使用 点语法本质上是set方法/get方法的调用 2> 使用注意 若出现在赋值操作符的右边,在执行时会转换成get方法 若出现在赋值操作符的左边,在执行时会转换成se ...

  7. Swift语言指南(十)--字符串与字符

    原文:Swift语言指南(十)--字符串与字符 字符串是一段字符的有序集合,如"hellow,world"或"信天翁".Swift 中的字符串由 String ...

  8. R语言︱文本(字符串)处理与正则表达式

    处理文本是每一种计算机语言都应该具备的功能,但不是每一种语言都侧重于处理文本.R语言是统计的语言,处理文本不是它的强项,perl语言这方面的功能比R不知要强多少倍.幸运的是R语言的可扩展能力很强,DN ...

  9. go语言基础之字符串遍历

    Go的字符串遍历,有两种方式: utf-8遍历 unicode遍历 package main import "fmt" func main() { str := "Hel ...

随机推荐

  1. sql修改字段值

    update dfw_USER_ACCOUNTS set USER_INTEGRAL="20" where USER_INTEGRAL="17"

  2. 报错The jarsigner could not be found. Make sure to run with the build with a JDK。的解决方法

    这种报错是因为eclipse启动时没有走你设置的jdk路径,eclipse走的路径/bin下没有jarsigner.exe.所以报错,解决办法: 指定eclipse启动jdk 按住alt键,用鼠标拖动 ...

  3. Windows环境下制作Ubuntu的U盘启动工具

    Windows用户想要尝试一下Ubuntu或其他Linux系统?最简单的方法就是使用VMware Workstation,只是虚拟机会真实占用内存,如果你的电脑内存8G及以上可以试试.内存偏小,或者觉 ...

  4. linux vim 编辑文件时无法保存

    操作ESC + : wq   无反应 那么我们操作SHFT按键,在操作Z按键,连续按两下Z按键即可(保存当前内容且退出)

  5. POJ 2157 How many ways??

    How many ways?? Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Origina ...

  6. mysql数据库优化原则

    一.一个例子 数据库需要处理的行数: 189444*1877*13482~~~479亿 如果在关联字段上加上合适的索引: 数据库需要处理的行数:368006*1*3*1~~~110万 MySQL通常是 ...

  7. ASP.NET--Razor-model-compare属性用法

    学习使用model中的compare属性来判断两个密码之间是否相同 [Required] [StringLength(100, ErrorMessage = "The {0} must be ...

  8. java根据汉字获取全拼和首字母

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...

  9. Linux下FFmpeg的安装编译过程【转】

    本文转载自:http://www.linuxidc.com/Linux/2013-06/85628.htm 详细说下在Linux下FFmpeg的安装编译过程.参考 Ubuntu 10.04安装编译FF ...

  10. FastDFS分布式文件系统研究

    FastDFS分布式文件系统 这个主要是针对应用型的,很使用,特别是对于电商等 一.编译安装 ubuntu平台: apt-get install libevent(这个默认就有,没有就装下) libe ...