(1)用字符数组存放一个字符串

char string[]="Linux C";

printf("%s\n",string);

string是一个字符数组名,它同时也是该字符数组的首地址。

(2)用字符串指针来指向字符串

如果不想定义字符数组,就可以只用一个指向字符串的指针,叫“字符串指针”,例如:

char *p="Linux C";

printf("%s\n",p);

“Linux C”是一个字符串常量。C语言对于字符串常量的处理方法:在内存中开辟一个字符数组来存储该字符串常量,并把开辟出的字符数组的首地址赋给p。

//3种方式实现字符串的拷贝
#include <stdio.h>int main()
{char a[] = "Linux C Program",b[20],c[20],d[20];int  i;//(1)数组for(i=0;a[i]!='\0';i++)b[i]=a[i];b[i]='\0';//(2)以数组首地址做基准的指针运算for(i=0; *(a+i) != '\0'; i++)*(c+i) = *(a+i);*(c+i) = '\0';//(3)用字符串指针char *p1,*p2;p1 = a;p2 = d;for(; *p1 != '\0'; p1++,p2++)*p2 = *p1;*p2 = '\0';printf("%s\n",a);printf("%s\n",b);printf("%s\n",c);printf("%s\n",d);return 0 ;
}

运行结果:

//在函数中实现字符串拷贝
#include <stdio.h>//用《数组》的方法实现拷贝
void copy_string1(char src[ ],char dst[ ])
{int i;for(i=0; src[i] != '\0';i++)dst[i] = src[i];dst[i] = '\0';
}//用《指针》的方法实现拷贝
void copy_string2(char *psrc,char *pdst)
{   for(; *psrc != '\0'; psrc++,pdst++)*pdst = *psrc;*pdst = '\0';
}int main()
{char a[] = "I love C",b[20],c[20];copy_string1(a,b);copy_string2(a,c);printf("%s\n%s\n%s\n",a,b,c);return 0 ;
}

运行结果:

指向字符串的指针 ------ 字符串指针相关推荐

  1. c 将数字数组转成字符串_C+|用指针指向字符串字面量、字符数组及字符指针数组...

    指针可以指向一个字符串字面量,可以指向一个字符数组,可以指向一块动态分配的内存单元: char *s1, *s2, *s3 = "abcde"; char ch[] = " ...

  2. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  3. 字符串数组 和 字符串指针 的区别

    在C语言中,对字符串的操作主要有两种方式,一是使用字符数组,char str[]:二是使用字符指针.那么二者有什么区别呢?下面将分述二者的使用,最后进行比较. 一.字符数组 使用char str[]定 ...

  4. c语言字符数组给字符指针,C语言常见有关问题之字符串数组和字符指针数组有关问题...

    C语言常见问题之字符串数组和字符指针数组问题 通过如下的实例来讲解这个问题: #include int main(void) { char a[3][4] = {"123", &q ...

  5. C 温故知新 之 指针:数组指针、字符串指针、函数指针

    一.数组指针  1.指向数组元素的指针 1.定义:还是那句话通俗的说指针就是地址 数组指针     :数组的起始地址 数组元素指针:数组元素的地址 2.定义一个指向数组元素的指针变量的方法,与之前介绍 ...

  6. 指针的指针、字符串和指针、数组指针(详)

    一.指针的指针 指针的指针,即指针的地址 定义了一个指针变量,指针变量本身占4个字节,指针变量也有地址编号 例: int a=0x12345678; 假设a的地址为:0x0000 2000 int * ...

  7. C语言初阶:字符串,字符串搭配函数与指针的多重奥秘

    文章目录 1. 字符串的输出遍历 2. 字符串与函数 3. 字符串指针的初始化 4. 字符数组 5. 字符串函数 6. 练习:天干地支 1. 字符串的输出遍历 字符串遍历打印: #include &l ...

  8. C语言:字符串数组与字符串指针数组

    1,首先,不论是局部,静态还是全局数组都必须在定义的时候初始化,否则就得通过其他方式,eg 循环操作,字符串处理函数strcpy() 2,附以下代码: 主要完成将"I am from chi ...

  9. C语言—字符串与字符数组,字符串数组与字符串指针的区别

    字符串与字符数组 字符串一定是一个char的数组,但char的数组未必是字符串.--以字符'\0'结尾的char数组就是一个字符串,但如果char数组没有以'\0'结尾,那么就不是一个字符串,只是普通 ...

  10. 字符 字符串 字符数组 字符串指针 指针数组

    一.字符指针.字符数组 字符指针:字符串指针变量本身是一个变量,用于存放字符串的首地址.而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以'\0'作为串的结束. char *ps=" ...

最新文章

  1. 微软职位内部推荐-Sr SDE for Win Apps Ecosystem
  2. CSS文字文本样式(font字体、css外观属性)
  3. Application summary please elaborate on how you plan to use our API
  4. bootstrap缩小后div互相叠加_纯 JS 实现放大缩小拖拽踩坑之旅
  5. 人脸口罩检测现开源PyTorch、TensorFlow、MXNet等全部五大主流深度学习框架模型和代码...
  6. 如何找出Fiori launchpad URL start_up请求发起的具体位置
  7. 程序员学好英语的方法(转)
  8. uni-app的列表搜索框_微信怎么搜索小程序?小程序能有什么用?
  9. 基于Qt的A*算法可视化分析
  10. 节点主动可信监控机制
  11. YUV420查表法高效、无失真的转换为RGB32格式
  12. python爬虫实例(一) b站篇
  13. 猎豹网校java版算法_猎豹网校JAVA语言数据结构与算法视频教程 Java语言
  14. [大数据、Hadoop、数据采集、MySQL、计算机基础、Windows、练习题库、面试]
  15. 【项目实战】——历史数据归档
  16. 划片机是芯片切割制造流程中一个重要的环节
  17. 用pandas的isin,~+isin筛选数据
  18. wps2019数据分析加载项_《07版office办公软件中的excle中,为什么在加载项里选择了分析工具库,数据分析还是显示不出来?》 wps数据分析加载项...
  19. js 自动播放音频文件,报警提示音等
  20. 如何聪明的提问(转载)

热门文章

  1. Excel公式大全加详解
  2. IOT网关开发受难记-(一) 2022/05/13
  3. 如何实现密码的显示和隐藏?
  4. MYSQL----数据库
  5. a轮融资计划书PPT模板
  6. 你是我生命中最美丽的温暖
  7. 【chatgpt代码系列】激光定位激光与地图匹配置信度算法
  8. C++课程基础语法小结
  9. 入侵防御(IPS)技术,怎么做好入侵防护
  10. 贴片电阻、贴片电容规格、封装、尺寸·功率(转)