字符串的指针和指向字符串的指针变量.docVIP

  • 7
  • 0
  • 约1.05千字
  • 约 3页
  • 2017-06-16 发布于河南
  • 举报

字符串的指针和指向字符串的指针变量.doc

字符串的指针和指向字符串的指针变量

10.4字符串的指针和指向字符串的指针 在C语言中,既可以用字符数组表示字符串,也可用字符指针变量来表示;引用时,既可以逐个字符引用,也可以整体引用。 字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。 定义字符指针变量 ★ char *ps1; ps1=form one; char *ps1=form one; char str[ ]= form one, *ps1; ps1=str; 注意: 字符指针变量ps1中,仅存储串常量的地址,而串常量的内容(即字符串本身),是存储在由系统自动开辟的内存块中,并在串尾添加一个结束标志’\0’。 2. 引用 1)逐个引用 main() { char *string=I am fine.; for(; *string!=’\0’; string++) printf(%c, *string); printf(\n); } 2) 整体引用 main() { char *string=I am fine.; printf(%s\n,string); } 程序说明:printf(%s\n,string);语句 通过指向字符串的指针变量string,整体引用它所指向的字符串的原理:系统首先输出string指向的第一个字符,然后使string自动加1,使之指向下一个字符;重复上述过程,直至遇到字符串结束标志。 注意: 其它类型的数组,是不能用数组名来一次性输出它的全部元素的,只能逐个元素输出。 3.字符指针变量与字符数组之比较 虽然用字符指针变量和字符数组都能实现字符串的存储和处理,但二者有区别. (1)存储内容不同。 字符指针变量中存储的是字符串的首地址,而字符数组中存储的是字符串本身(数组的每个元素存放一个字符)。 (2)赋值方式不同。 对字符指针变量,可采用下面的赋值语句赋值: char *pointer; pointer=This is a example.; 而字符数组是在定义时初始化。 char char_array[20]=This is a example. (3)指针变量的值是可以改变的,字符指针变量也不例外;而数组名代表数组的起始地址,是一个常量,而常量是不能被改变的。

文档评论(0)

1亿VIP精品文档

相关文档