Skip to content

LV030-指针与字符串

一、字符指针变量的概念

C语言 通过使用字符数 组来处理字符串, char 数据类型的指针变量称为字符指针变量。字符指针变量与字符数组有着密切关系,它也被用来处理字符串。

二、字符指针变量的赋值

  • 指向字符数组
c
char str[] = "strings";
char *p = str;

这样的赋值方式是将字符指针变量 p 指向数组 str 的首地址,即将字符串的首地址赋予指针,并不是把该字符串复制到指针中。

  • 指向字符串常量
c
char *p = "string";

这样的赋值方式是将一个字符串常量的首地址赋给指针变量 p ,这样的赋值方式会使指针指向对象的值不能被修改,例如 *p = 'S'; 这将导致程序报错,原因就在于字符串常量不能被修改。

三、字符串打印

由于指针变量指向的是字符串的首地址,所以我们可以这样来打印指针变量指向的字符串。

c
#include <stdio.h>

int main(int argc, char *argv[])
{
    char str[] = "strings";
    char *p = str;

    printf("str[]=%s,p=%s\n", str, p);
   
    return 0;
}

输出结果如下:

c
str[]=strings,p=strings