从头开始学C语言第二十八天——字符指针和字符串

devtools/2025/3/21 11:00:43/

C语言通过字符数组处理字符串。通常把char类型的指针变量称为字符指针,字符指针也被用来处理字符串。

初始化字符指针就是把字符串的首地址赋予指针,不是把字符串复制到字符指针。

char a[] = "hello world";

char *pa = a;

*pa指向的不是字符'h',而是字符所在内存的位置。

#include <stdio.h>
#include <ctype.h>int main()
{char a[]="hello world";char b[]="apple";char *pa = a;if(isalpha(*pa)){if(islower(*pa)){*pa = toupper(*pa);}else{*pa = tolower(*pa);}}printf("%s %p \n",a,a);printf("%s %p \n",pa,&pa);pa = b;printf("%p \n",b);printf("%p \n",pa);//改变指针所指对象之后,指针所指的对象的地址也会随之改变//pa开始指向的是a数组的首地址,后面变成指向b数组的首地址return 0;
}

从程序我们可以看到, *pa指向a数组时,我们可以改变a数组的内容。

在C语言中,当一个字符指针指向一个字符串常量,不能修改指针指向对象的值。

#include <stdio.h>
#include <ctype.h>int main()
{char *p1 = "hello world";char *p2 = "hello world";//指针保存在栈区//字符串"hello world"保存在静态存储区,无法修改//p1[0] = 'a';//系统不会报错,但是运行时系统会崩溃printf("%s\n%p\n%p\n",p1,p1,&p1);printf("%s\n%p\n%p\n",p2,p2,&p2);return 0;}

存放在静态存储区的变量有:全局变量,static存储类型变量,字符串常量。无法修改


http://www.ppmy.cn/devtools/168567.html

相关文章

扩散模型算法实战——3D 形状生成

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​ ​​​​​​ ​ ​ 1. 引言 3D 形状生成是计算机视觉和计算机图形学领域中的一个重要研究方向&#xff0c;旨在通过算法自动生成高质…

继承的知识点及小细节

目录 1>概念及定义 a.概念 b.定义 c.继承类模板 2>基类和派生类间的转换 3>作用域 a.隐藏规则 b.经典选择题 4>派生类的默认成员函数 a.4个常见默认成员函数 b.实现一个不能被继承的类 5>继承与友元 6>继承与静态成员 7>多继承以及菱形继承…

mysql-查看binlog日志

mysql目前binlog_format默认是row格式&#xff0c; 找到binlog日志文件&#xff0c;通过命令查看 >mysqlbinlog binlog日志路径内容大致如下&#xff1a; /*!*/; # at 1163 #250317 14:13:43 server id 1 end_log_pos 1194 CRC32 0x09c8bcfd Xid 14 COMMIT/*!*…

Zabbix监控自动化(Zabbix Mnitoring Automation)

​​​​​​zabbix监控自动化 1、自动化监控(网络发现与自动注册只能用其一) 1.1 ansible安装zabbix agent 新采购100台服务器&#xff1a; 1、安装操作系统 2、初始化操作系统 3、安装zabbix agent 1.手动部暑 2.脚本部暑(shell expect) 3.ansible 4、纳入监控 1.…

Python实现爬虫:天气数据抓取(+折线图)

一、基本架构 1、URL管理器&#xff1a;爬虫的调度中枢 核心职责 功能说明URL去重防止重复抓取URL优先级管理控制抓取顺序&#xff08;广度优先/深度优先&#xff09;断点续爬支持持久化存储抓取状态分布式协同多节点共享URL队列 2、网页下载器&#xff1a;数据获取的引擎 功…

从零手写 Spring 风格 IoC 容器:支持自动扫描与依赖注入

手写一个 Spring 风格的 IoC 容器&#xff08;支持自动扫描和依赖注入&#xff09; 一、前言 控制反转&#xff08;IoC, Inversion of Control&#xff09; 是 Spring 框架的核心机制之一&#xff0c;它将对象的创建和依赖管理交给 IoC 容器&#xff0c;避免了对象之间的强耦…

Python中的字典:深度解析与应用实践

一、字典的本质与特性 Python字典&#xff08;Dictionary&#xff09;是以**键值对&#xff08;Key-Value Pair&#xff09;**形式存储数据的无序集合&#xff0c;使用大括号{}定义。其核心特性包括&#xff1a; 快速查找&#xff1a;基于哈希表实现&#xff0c;通过键&#…

深度探索DeepSeek部署的安全底线

摘要 在本地部署DeepSeek时&#xff0c;必须严格遵守安全底线。攻击者可能通过服务接口对DeepSeek模型数据进行篡改&#xff0c;包括删除模型或修改模型训练数据。此外&#xff0c;攻击者还可能注入恶意代码或删除关键组件&#xff0c;从而导致服务崩溃。因此&#xff0c;在部署…