指针系列目录

  C语言指针基础知识点(一)–指针及指针变量
  C语言指针基础知识点(二)–指针变量的引用
  C语言指针基础知识点(三)–指针变量作为函数参数
  C语言指针基础知识点(四)–通过指针引用数组
  C语言指针基础知识点(五)–用数组名作函数参数
  C语言指针基础知识点(六)–通过指针引用多维数组
  C语言指针基础知识点(七)–通过指针引用字符串
  C语言指针基础知识点(八)–返回指针值的函数
  C语言指针基础知识点(九)–指针数组和多重指针
  C语言指针基础知识点(十)–动态内存分配与指向它的指针变量

通过指针引用字符串

1. 字符串的引用方式

字符串是存放在字符数组中的,引用字符串,有以下两种方法:

(1).通过数组名和下标

#include <stdio.h>int main()
{char string[]="I love china!";printf("%s\n",string);printf("%c\n",string[7]);return 0;
}


(2).通过字符指针变量引用一个字符串常量

#include <stdio.h>int main()
{char *string="I love china!";   // 把字符串的第1个元素的地址赋给字符指针变量 stringprintf("%s\n",string);return 0;
}


栗子1:

将字符串a赋值给字符串b,然后输出字符串b

方法1: 字符数组

#include <stdio.h>int main()
{char a[]="I love china!", b[20];int i;for(i=0;*(a+i)!='\0';i++)*(b+i)=*(a+i);*(b+i)='\0';printf("string a is:%s\n", a);printf("string b is:%s\n", b);printf("string b is:");for(i=0;b[i]!='\0';i++)printf("%c",b[i]);printf("\n");return 0;
}


方法2:指针变量

#include <stdio.h>int main()
{char a[]="I love china!", b[20], *p1, *p2;p1=a; p2=b;for(;*p1!='\0';p1++,p2++)*p2=*p1;*p2='\0';printf("string a is:%s\n", a);printf("string b is:%s\n", b);return 0;
}


2. 字符指针作函数参数

函数的形参和实参分别用字符数组名或字符指针变量

#include <stdio.h>int main()
{void copy_string(char from[], char to[]);char a[]="I love china!";char b[]="You are a teacher!";printf("string a=%s\nstring b=%s\n",a,b);printf("copy string a to string b:\n");copy_string(a,b);printf("string a=%s\nstring b=%s\n",a,b);return 0;}void copy_string(char from[], char to[])
{int i = 0;while(from[i]!='\0'){to[i]=from[i];i++;}  to[i]='\0';
}

3. 字符指针变量作形参和实参

#include <stdio.h>int main()
{void copy_string(char *from, char *to);char *a="I love china!";char b[]="You are a teacher!";char *p=b;printf("string a=%s\nstring b=%s\n",a,b);printf("copy string a to string b:\n");copy_string(a,p);printf("string a=%s\nstring b=%s\n",a,b);return 0;}void copy_string(char *from, char *to)
{for(;*from!='\0';from++,to++){*to = *from; }*to='\0';
}

4. 字符指针变量和字符数组变量的比较

C语言指针基础知识点(七)--通过指针引用字符串相关推荐

  1. C语言指针基础知识点(六)--通过指针引用多维数组

    指针系列目录   C语言指针基础知识点(一)–指针及指针变量   C语言指针基础知识点(二)–指针变量的引用   C语言指针基础知识点(三)–指针变量作为函数参数   C语言指针基础知识点(四)–通过 ...

  2. C语言指针基础知识点(四)--通过指针引用数组

    指针系列目录   C语言指针基础知识点(一)–指针及指针变量   C语言指针基础知识点(二)–指针变量的引用   C语言指针基础知识点(三)–指针变量作为函数参数   C语言指针基础知识点(四)–通过 ...

  3. C语言基础(七)—— 指针、指针变量

    1. 概述 1.1 内存 内存含义: 存储器:计算机的组成中,用来存储程序和数据,辅助CPU进行运算处理的重要部分. 内存:内部存贮器,暂存程序/数据--掉电丢失 SRAM.DRAM.DDR.DDR2 ...

  4. 【C语言】指针基础知识点汇总

    指针(一) 基础 一 指针的概念 为了方便访问内存中的内容,给每个内存单元一个编号,我们称这个编号为地址,及为指针. 指针也是一种数据类型 所以指针都有自己的内存 存储的是地址(编号) 指针的四要素 ...

  5. 指针——基础知识点归纳总结

    一.指针概述 指针是用来存放地址的变量: 指针的大小是固定的4个或8个,取决于你的操作系统(32位/64位): 指针的类型决定了指针的步长和访问权限: 指针的运算规则: 二.字符串指针 字符串的名称为 ...

  6. c语言数组教案下载,C语言电子教案第七章指针与数组

    第1页 时 间 12 月 02 日 星期 2 课 题 指针与数组 教学目标 掌握指针和数组的定义以及使用方法 教学重点 指针数组的定义及使用 教学难点 指针数组的使用 课 型 公共课 教学媒体 多媒体 ...

  7. 怎么new一个指针_C++知识点 34:指针运算符重载 -- 智能指针

    #define _CRT_SECURE_NO_WARNINGS #include using namespace std; // 平常可能遇到一个问题 class Test { public: Tes ...

  8. 7.24[C语言零基础 知识点总结]

    不够全面,以后慢慢完善

  9. R语言入门基础知识点笔记——向量

    一 向量的建立 1 直接创建 如x1<-1:10; x2<-666; x3<-TRUE;(必须使用大写) x4<-"Tianjing"(向量的格式不同) 2 ...

最新文章

  1. 使用libvirt管理kvm(virsh篇)
  2. vs配置不依赖其他包路径
  3. Django 02 url路由配置及渲染方式
  4. 如果你也会C#,那不妨了解下F#(5):模块、与C#互相调用
  5. matlab 音频编辑器,在Matlab中使用App Designer可以进行实时音频处理吗?
  6. ArcEngine坐标操作那些事
  7. Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置
  8. TCP拥塞控制算法内核实现剖析(一)
  9. oracle 脚本怎么写,wincc与 oracle 数据通讯脚本如何写-工业支持中心-西门子中国...
  10. Solidity 系列教程
  11. cad画多段线时不显示轨迹_cad画多段线时不显示轨迹_CAD画多段线的时候看不到预览效果的解决方法...
  12. CactiEZ安装与配置-监控网卡流量
  13. Python读写欧姆龙PLC(本工作是由具体项目而开展的)
  14. 给 QuickTime 播放器添加方向键快进/快退功能
  15. leet code 006:ZigZag Conversion
  16. restful 验证码平台请求验证
  17. python动态爬取实时_python爬取动态数据实战---猫眼专业版-实时票房(二)
  18. 通信协议基础以及常用的串口通信协议
  19. linux 的手机操作系统下载地址,Linux系统运维之下载Linux操作系统地址
  20. 无线传感器网络密钥管理方案-随机密钥预分配方案

热门文章

  1. 恋爱、解密、沙盒,你喜欢的元素全都有,超有趣的手机游戏推荐!
  2. 使用vue-router自动生成导航菜单
  3. 用 Java 写了一个类 QQ 界面聊天小项目,可在线聊天!
  4. Android UI设计——ViewPager中设置底部显示圆点焦点(二)
  5. 【​观察】无处不在的计算背后 浪潮云新的雄心壮志
  6. echarts雷达图怎么给每个拐点设置不同的颜色
  7. 五段动词为什么叫五段动词,一段动词为什么叫一段动词
  8. 是不是老了,总是怀念过去的岁月
  9. Ubuntu下桌面日历Rainlendar
  10. Win10预览版系统下载:中文简体64位ISO下载