C语言——指针与字符串

8 篇文章 0 订阅

一、字符串的指针
字符串的指针,字符串在内存中的地址,也就是第一个字符的地址。字符串是一个常量,字符串的值,就是字符串的地址。(指针就是地址)
二、指向字符串的指针变量
使用一个指针变量保存字符串的地址,把这个指针变量就叫做字符串的指针变量。

比如
char *p;
p = “zhangsan”;
//p保存了”zhangsan”的地址,也就是’z‘的地址。

两种方式保存字符串

#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[]) {

    //使用数组的方式引用字符串,可变字符串
    char name[] = "zhangsan";//定义的是一个字符串变量!

    //使用指针的方式引用字符串, 字符串仍然是常量
    char *pname = "zhangsan";//定义的是一个字符串常量!

    
    name[0] = 'm';
    printf("name = %s\n", name);//name = mhangsan

    //程序崩溃,因为pname指向的字符串不可变
    //pname[0] = 'm';
    printf("pname = %s\n", pname);//pname = zhangsan
    
    // 使用strlen函数测量字符串长度
    long len = strlen(pname);
    
    printf("字符串长度:%ld\n", len);//字符串长度:8
    
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值