C语言指针、字符串以及字符的异同

2023-11-06

介绍

指针:是存放某种特定变量的特定地址
字符:单引号内的字符,占八位。
字符串:多个字符加一个结束符’\0’组成。但其本质是一个指向第一个字符的指针。

小实验1

任务:判断“hello world!”中有多少个o。
代码如下:

#include<stdio.h>

char str[]="hello world!";
char *p;
int i,temp,sum;

void main()
{
	//由于字符串本质是指针,故可以直接赋值,但注意此时p拿到的仅仅是str中第一个字符的地址。
	p=str;    
	temp=sizeof(str);
	for(i=0;i<temp;i++)
	{
		if('o'==*(p+i)){sum+=1;}
	}
	printf("%d\n",sum);
}

运行结果:sum==2
在这里插入图片描述
错误操作:

char *p;
p='A';    //字符不是指针,无法直接赋值给指针

小实验2

任务:用一个结构体,其成员包括名字和分数。如name:Xiao Ming,score:85
代码如下:

#include<stdio.h>

char str[20];

void main()
{
	struct{
		char *name;	
		int score;
	}student;

	//从键盘读取输入
	printf("please enter the name:");
	gets(str);           //从键盘读取字符串
	student.name=str;    //字符串赋值给指针
	printf("please enter the score:");
	scanf("%d",&student.score);
	
	//最终结果显示
	printf("Name: %s\nScore: %d\n",student.name,student.score);
}

结果:
在这里插入图片描述

在单片机中的应用

任务:在oled中,某个特定的位置显示一个字母。
代码如下:

char *p;
p="A";
Display_Number(3,8,*p);  //我自己编写的oled驱动函数,不可以直接套用。其中三个参数分别是行、列、ascll码

结果:
请添加图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言指针、字符串以及字符的异同 的相关文章

随机推荐

  • Sybase 存储过程中IF的用法

    Sybase 存储过程中IF的用法 i val 为参数 if i val 0 or i val is null then begin 执行内容 end end if 转载于 https www cnblogs com lizm166 p 9
  • Opencv计算机视觉图像识别实战(28249人在学,102小节,时长:14小时)

    文章末尾有联系方式 Opencv计算机视觉实战课程旨在帮助大家快速掌握机器视觉领域必备知识点原理及其在Opencv中的使用方法 课程风格通俗易懂 用最接地气的方式来讲解晦涩难懂的知识点 整体设计以项目实战来驱动学习 课程中所有代码均使用Py
  • MySQL夺命16问,你能坚持到第几问?

    前言 MySQL在面试中经常被问到 本文总结了面试中的经典问题 1 数据库三大范式是什么 第一范式 每个列都不可以再拆分 第二范式 在第一范式的基础上 非主键列完全依赖于主键 而不能是依赖于主键的一部分 第三范式 在第二范式的基础上 非主键
  • ftp服务器保存文件路径怎么写,ftp 服务器 文件路径怎么写

    ftp 服务器 文件路径怎么写 内容精选 换一换 您需要参见 开发环境安装指南 安装开发环境 获取以下文件 从ACLlib组件的安装目录 acllib include acl目录下获取调用AscendCL接口所需的头文件 从ACLlib组件
  • 文件路径中文编码问题解决方案之一

    设置代码页为简体中文 936是简体中文的代码页 std locale loc1 std locale global std locale 936 在这里使用 fstream ifstream ofstream fstream binary
  • huggingface模型--手动下载并保存

    timeout 下载模型超时 一般是最大的那个模型下载超时 其他依赖文件下载都没问题 ConnectionError HTTPSConnectionPool host cdn lfs huggingface co port 443 Read
  • Java多线程---锁的种类都在这

    java锁分类 原文 1 悲观锁 乐观锁悲观锁 每次去拿数据的时候都认为别人会修改 所以每次在拿数据的时候都会上锁 Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现 乐观锁 Lock用的是乐观锁方式
  • link标签的作用

    Link标签有两个作用 1 定义文档与外部资源的关系 2 是链接样式表 link标签是用于当前文档引用外部文档的 其次 这个标签的rel属性用于设置对象和链接目的间的关系 说白了就是指明你链进来的对象是个什么东西的 具体的值及其所表示的关系
  • MySQL学习笔记(基础)

    安装 不多介绍 随便百度一下有很多Mysql安装教程 全程选择默认选项点下去就行 需要注意的是要自己设置管理员超级账号密码 这个可不能忘了 MySQL Workbench 数据库UI管理界面 可以通过这个简易的创建表或者创建新的连接 点击加
  • windows 子系统 linux (WLS):启用Win10的Linux子系统

    windows 子系统 linux WLS 系列文章目录 windows 子系统 linux WLS 启用Win10的Linux子系统 windows 子系统 linux WLS ifconfig ping等无法使用解决办法 windows
  • 如何有效述职

    总结 回看过去 梳理工作规划 遥望未来 展示自我反思 审视当下 学习他人 把工作在有限的时间内说明白 视与听的呈现 1 在视觉层面 内容是锦 形式是花 内容层面 述职中经常出现的问题 事情琐碎 重点事项不突出 原因 不清楚工作重点说了很多
  • 软件测试技术---代码检查,走查与评审

    迄今为止 并不是所有的测试人员都需要阅读程序代码 但是研读程度代码作为测试的一部分工作这个观点得到了大部分人的认同 实际上 人工测试对发现程序的错误方面效率非常高 它主要包括桌上检查 走查 代码检查和同行评审技术 使用这些技术能够有效的发现
  • jQuery ajax定时器

    jsp
  • 解决Eclipse不能打开build之后的class文件问题

    方法一 1 右键src文件夹 2 选择build path 3 选择config build path 4 点击library 5 点击add exterdal class folder 选择bin文件夹即可 这个是打开 build Aut
  • 图腾标准服务器机柜型号,图腾常用的机柜型号及全参数-20210804001933.pdf-原创力文档...

    实用标准文案 AD 网络服务器机柜 带弹力锁的弧形高密度六角网孔前门 专利 高密度六角网孔后门 通风率达 71 2 产品主要规格及性能 标准 符合 ANSI EIA RS 310 D IEC297 2 DIN41491 PART1 DIN4
  • 卷积神经网络教程 (CNN) – 使用 TensorFlow 在 Python 中开发图像分类器

    在这篇博客中 让我们讨论什么是卷积神经网络 CNN 以及 卷积神经网络背后的架构 旨在解决 图像识别系统和分类问题 卷积神经网络在图像和视频识别 推荐系统和自然语言处理方面有着广泛的应用 目录 计算机如何读取图像 为什么不是全连接网络
  • 20_rewrite 模块

    文章目录 rewrite 模块的if 指令 location 指令 location 匹配规则 location 匹配顺序 示例配置 rewrite 模块的if 指令 if syntax if condition default conte
  • Lombok首字母小写,第二个字母大写导致无法序列化的问题

    解决办法 在属性上添加以下注解 JsonProperty value xXxxx
  • JSP数据交互(一 response对象)

    response对象 JSP内置对象response response对象 转发与重定向 什么是转发 什么是重定向 JSP内置对象response 学习了如何使用JSP技术获取请求信息 JSP技术是如何将服务器响应返回给客户端的 下面介绍J
  • C语言指针、字符串以及字符的异同

    文章目录 介绍 小实验1 小实验2 在单片机中的应用 介绍 指针 是存放某种特定变量的特定地址 字符 单引号内的字符 占八位 字符串 多个字符加一个结束符 0 组成 但其本质是一个指向第一个字符的指针 小实验1 任务 判断 hello wo