一、前言

在实际开发中,特别是芯片开发中,例如智能传感器芯片,经常直接使用C语言指针数据类型来操作寄存器。那么字符串指针就是我们常见的操作。

C语言没有单独的字符串对象,它是通过数组的形式来表示字符串的:

#include

#include

int main(void)

{

char str[] = "hello world";

printf("%s",str);

printf("%c",str[1]);

}

上述字符串“hello world”共11个字符,加上结束字符“0”在内存中共12个字符。

二、通过字符指针引用字符串

#include

#include

int main(void)

{

char *str = "hello world";

printf("%s",str);

printf("%c",str[1]);

}

字符串拷贝示例:

#include

#include

int main(void)

{

char str_src[] = "hello world";

char str_desc[12],*p1,*p2;

p1 = str_src;

p2 = str_desc;

while(*p1!='0'){

p1++;

p2++;

*p2 = *p1;

}

*p2 = '0';

printf("The str_src is : %s",str_src);

printf("The str_desc is : %s",str_desc);

}

三、字符串传参

1、使用字符串的数组名传递参数

#include

#include

int main(void)

{

char s1[] = "hello world";

char s2[12];

copyString(s1,s2);

printf("s2 = %s",s2);

}

void copyString(char str_src[],char str_desc[]){

int i;

for(i = 0; str_src[i]!='0';i++){

str_desc[i] = str_src[i];

}

str_desc[i] = '0';

}

2、使用字符串指针变量

形式一:

#include

#include

int main(void)

{

char *s1 = "hello world";

char *s2 = (char *)malloc(12);

copyString(s1,s2);

printf("s2 = %s",s2);

}

void copyString(char str_src[],char str_desc[]){

int i;

for(i = 0; str_src[i]!='0';i++){

str_desc[i] = str_src[i];

}

str_desc[i] = '0';

}

形式二:

#include

#include

int main(void)

{

char *s1 = "hello world";

char *s2 = (char *)malloc(12);

copyString(s1,s2);

printf("s2 = %s",s2);

}

void copyString(char *str_src ,char* str_desc){

int i;

for(i = 0; str_src[i]!='0';i++){

str_desc[i] = str_src[i];

}

str_desc[i] = '0';

}

三、字符串拷贝函数copyString几种简写的总结

1、形式一

void copyString(char *str_src ,char* str_desc){

while(( *str_desc = *str_src)!='0'){

str_desc++;

str_src++;

}

}

2、形式二

void copyString(char *str_src ,char* str_desc){

while(( *str_desc++ = *str_src++)!='0');

}

3、形式三

void copyString(char *str_src ,char* str_desc){

while( *str_src != '0'){

*str_desc++ = *str_src++;

}

*str_desc = '0';

}

4、形式四

void copyString(char *str_src ,char* str_desc){

while( *str_desc++ = *str_src++);

}

怎样在vs中监视char*字符串_字符串指针数据类型相关推荐

  1. python 路径拼接字符串_字符串游戏之拼接字符串

    出场人物介绍 小美:小学4年级学生,参加了学校的编程兴趣小组,已经了解了Python语言的基本语法,能够看懂一些简单的程序.她做事风风火火,对所有的事物都很好奇,喜欢打破砂锅问到底,是一个叫人又爱又恨 ...

  2. 判断字符串是否为回文字符串_字符串文字

    判断字符串是否为回文字符串 String objects hold ordered sequences of bytes, typically characters, usually to form ...

  3. char截取字符串_字符串的排列(滑动窗口)

    题目: 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列. 换句话说,第一个字符串的排列之一是第二个字符串的子串. 示例1: 输入: s1 = "ab" ...

  4. T-SQL中REPLACE的用法_字符串替换

    REPLACE 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 REPLACE ( 'string_expression1' , 'string_expression2 ...

  5. ie模版字符串_字符串模板、模板字符串、Vue中使用template等等。

    1:模板字符遇新是直朋能到串 传统的一如分算需上来处一定迹面数一跳这件我子作JS语言,输出模板新直能分支调二浏页器朋代说,事刚需求是这样写的: $('#result').append( 'There ...

  6. java split 分割字符串_字符串分割--java中String.split()用法

    在java.lang包中有String.split()方法,返回是一个数组. 一. "."和"|"都是转义字符,必须得加"\\"; 若是用& ...

  7. 字符内存转成字符串_字符串内存内部

    字符内存转成字符串 本文基于我对StackOverflow的回答 . 我正在尝试解释String类如何存储文本,内部存储和常量池如何工作. 这里要理解的要点是String Java对象与其内容– pr ...

  8. 字符串矩阵转换成长字符串_字符串矩阵

    字符串矩阵转换成长字符串 Description: 描述: In this article, we are going to see how backtracking can be used to s ...

  9. 翁恺老师C语言学习笔记(十一)字符串_字符串常量

    字符串常量 char* s = "Hello,world!" 我们先看一段代码 #include<stdio.h>int main(void) {char *s = & ...

最新文章

  1. ​2018深度学习引用数最高的十大论文
  2. 产业互联网受瞩目:互联网主战场从To C转向To B | 企鹅经济学
  3. Java :BufferedWriter类和BufferedReader类的构造方法、主要方法
  4. [原]执行存储过程后返回影响的行数
  5. arcgis andin使用python窗体_在ArcGIS?10中使用python
  6. 2017-09-27 前端日报
  7. Go报错:more than one character in rune literal
  8. 研究性论文的图注应该怎么写?
  9. 菜单工具栏wxPython菜单与工具栏基础示例
  10. 浏览器兼容性导致网址显示不完整
  11. CMake 使用方法 CMakeList.txt编写简单分析
  12. win7注册表无法修改计算机名称,Win7旗舰版
  13. 灯效控制器和rgb控制器_还有什么不能RGB?TT发布Level 20 RGB BattleStation电竞桌
  14. 构建人人网社会化推荐引擎
  15. Java工具集-农历日期工具类
  16. neo4j 入门例子
  17. 美丽的数据 :数据可视化与信息可视化浅谈
  18. 软件设计证书倒数50天-软件工程重要的证书
  19. 不同安卓模拟器连接appium的端口
  20. OpenCV 中的 warpAffine

热门文章

  1. mybatis-plus 查询,删除
  2. 1010 一元多项式求导 (25分)
  3. 【OS学习笔记】四十 保护模式十:中断和异常的处理与抢占式多任务对应的汇编代码----动态加载的用户程序/任务二代码
  4. LCA模板(数剖实现)
  5. php 把一个数组分成有n个元素的二维数组的算法
  6. 转载:Java编程风格与命名规范整理
  7. Linux Apache php MySQL 安装配置(Centos 6.4 yum安装)
  8. Depth-first Search深度优先搜索专题5
  9. 【数据结构与算法】【算法思想】【算法应用】【排序查找搜索】并行
  10. ajax时间控件,带有ajax的JQuery中的插件datetimepicker出错