C语言 详解字符串基础

  目录

  一、字符串的概念

  字符串是有序字符的集合

  字符串是程序中的基本元素之一

  C 语言中没有字符串的概念

  二、字符数组与字符串

  在C语言中,双引号引用的单个或多个字符是—种特殊的字面量

  下面看一段字符数组与字符串的代码:

  #include

  int main()

  {

  char ca[] = {'H', 'e', 'l', 'l', 'o'};

  char sa[] = {'W', 'o', 'r', 'l', 'd', '0'};

  char ss[] = "Hello world!";

  char* str = "Hello world!";

  printf("%s

  ", ca);

  printf("%s

  ", sa);

  printf("%s

  ", ss);

  printf("%s

  ", str);

  return 0;

  }

  输出结果如下:

  因为 ca[ ] 是字符数组而不是字符串,%s 这个格式化字符表示所需要打印的就是字符串,所以打印 ca 自然就会不对。

  三、字符串字面量的秘密

  "Hello World !”是一个无名的字符数组

  下面看一个字符串字面量的代码:

  #include

  int main()

  {

  char b = "abc"[0];

  char c = *("123" + 1);

  char t = *"";

  printf("%c

  ", b);

  printf("%c

  ", c);

  printf("%d

  ", t);

  printf("%s

  ", "Hello");

  printf("%p

  ", "World");

  return 0;

  }

  输出结果如下:

  注意char t = *" "; 里面包含了一个 '0'

  四、字符串的长度

  下面看一段 strlen 的使用:

  #include

  #include

  int main()

  {

  char s[] = "Hello0world";

  int i = 0;

  for(i=0; i

  {

  printf("%c

  ", s[i]);

  }

  printf("%s

  ", s);

  printf( "%d

  ", strlen(s) );

  printf( "%d

  ", strlen("123") );

  return 0;

  }

  输出结果如下:

  s 代表字符串的话代表的就是 Hello,s 如果代表字符数组的话代表的就是 Hello0world0

  五、小结

  到此这篇关于C语言 详解字符串基础的文章就介绍到这了,更多相关C语言 字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  您可能感兴趣的文章: