C语言 百分网手机站

C语言入门知识之字符串与指针

时间:2020-09-21 15:13:08 C语言 我要投稿

C语言入门知识之字符串与指针

  导语:字符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。下面是其相关知识,欢迎阅读:

C语言入门知识之字符串与指针

  1、 字符串的表示形式

  在C语言中,我们可以用两种方式访问字符串

  (1) 用字符数组存放一个字符串,然后输出该字符串。

  main(){

  char string[]="I love China!";

  printf("%s ", string);

  (2) 用字符指针指向一个字符串。可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。

  main(){

  char *string="I love China!";

  printf("%s ", string);

  在这里,我们没有定义字符数组,而是在程序中定义了一个字符指针变量string,用字符串常量"I love China!",对它进行初始化。C语言对字符串常量是按字符数组处理的,在内存中开辟了一个字符数组用来才存放该字符串常量。对字符指针变量初始化,实际上是把字符串第1个元素的.地址(即存放字符串的字符数组的首元素地址)赋给string。有人认为string是一个字符串变量,以为在定义时把"I love China!"这几个字符赋给该字符串变量,这是不对的!!

  实际上,char *string="I love China!";等价于:

  Char *string;

  String = “I love China!”;

  可以看到,string被定义为一个指针变量,指向字符型数据,请注意它只是指向了一个字符变量或其他字符类型数据,不能同时指向多个字符数据,更不是把“I love China!”这些字符存放到string中(指针变量只能存放地址),也不是把字符串赋给*string。只是把“I love China!”的第一个字符的地址赋给指针变量string。

  在输出时,要用:printf(“%s ”, string);,其中“%s”是输出字符串时所用的格式符,在输出项中给出字符指针变量名,则系统先输出它所指向的一个字符数据,然后自动是string加1,使之指向下一个字符,然后再输出一个字符……如此知道遇到字符串结束标志“”为止。

  注意:可以通过字符数组名或者字符指针变量输出一个字符串。而对一个数值型数组,是不能企图用数组名输出它的全部元素的。例如:

  Int i[10];

  ………

  Printf(”%d ”, i);

  是不行的,只能逐个输出!!!!!!显然%s可以对一个字符串进行整体的输入和输出。

  2、 字符串指针作函数参数

  将一个字符串从一个函数传递到另外一个函数,可以用地址传递的方法,即用字符数组名作参数或用指向字符的指针变量做参数。在被调用的函数中可以改变字符串内容,在主调函数中可以得到改变了的字符串。

  注意:对于实参和形参的用法,十分灵活,我们可以慢慢去熟悉它。


【C语言入门知识之字符串与指针】相关文章:

C语言数组与指针详解11-05

C语言入门必备知识11-07

c语言之指针基础知识10-04

C语言指针教学11-05

C语言指针和数组基础知识10-04

计算机二级C语言字符串的指针以及指向字符串的指针变量11-23

C语言指针的传递10-06

C语言指针的用法10-05

C语言指针用法详解10-19