字符串:

以"   "号包括的字符序列,带'\0'

字符串的结尾标记'\0'

只要末尾为'\0'的都是字符串

定义字符数组:

#include <stdio.h>

int main()
{
char arr[10] = {'a','b','c'};//定义一个字符数组,将字符a,字符b,字符c赋给前三个字符,其余均为'\0',该数组是字符串
char brr[] = {'a','b','c'};//定义一个字符数组,未规定大小,将字符a,字符b,字符c赋值给字符数组,该数组不是字符串
char crr[10] = {"abc"};//字符数组特有
char drr[10] = "abc";  //字符数组特有 **
char err[] = "abc";      //字符数组特有 **

char frr[10] = "";         //定义一个包含10个char类型的字符数组,未初始化

return 0;

}

字符串的输出操作:

void Print(char *str)
{
for(int i=0;str[i]!='\0';i++)
{
putchar(str[i]);
}

}

int main()
{
char arr[10] = "abc";
char brr[10] = "";

Print(arr);

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

return 0;
}

//希望字符串可进行的操作:1、复制,2、连接,3、比较

字符串的复制:

void Copy1(char *des,char *src)
{
int i;
for(i=0;src[i]!='\0';i++)
{
des[i] = src[i];
}
des[i] = '\0';

}

void Copy2(char *des,char *src)
{
int i;
for(i=0;*(src+i)!='\0';i++)
{
*(des+i) = *(src+i);
}
*(des+i) = '\0';

}

void Copy3(char *des,char *src)
{
while(*src != '\0')
{
*des = *src;
des++;
src++;
}
*des = '\0';

}

void Copy4(char *des,char *src)
{
assert(des!=NULL && src!=NULL);//
if(des==NULL || src==NULL)
{
return ;
}

while(*src != '\0')
{
*des++ = *src++;//*(des++) = *(src++);
//(*des)++ = (*src)++;//error
}
*des = '\0';

}

char *Copy(char *des,char *src)
{
char *p = des;
while(*des++ = *src++) ;
return p;
}

//父函数调用子函数,从而改变父函数的值,需要传指针,解引用

int main()
{
char arr[10] = "abc";
char brr[10] = "";
char crr[10];
Copy1(crr,arr);
Copy2(crr,arr);
Copy3(crr,arr);
Copy4(crr,arr);
Copy(crr,arr);
Copy(crr,Copy(brr,arr))
printf("%s\n",crr);
        return 0;
}

字符串_字符串的复制相关推荐

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

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

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

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

  3. sql server 替换有反斜杠的字符串_字符串提取,到底谁是你的菜?

    字符串提取,是表亲们经常遇到的问题,今天就和大家一起学习字符串提取的方法. 如下图所示,要从A列的路径中提取出文件名称. 提取的结果如下图所示: 观察这些数据,咱们可以发现: A列字符串中都是以&qu ...

  4. android 数组赋值字符串_字符串数组的赋值

    例如: main() { chars[30]; strcpy(s,"Good News!"); /*给数组赋字符串*/ } 上面程序在编译时,遇到chars[30]这条语句时,编译 ...

  5. .net mvc actionresult 返回字符串_字符串游戏之无效的身份证

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

  6. 字符串_字符串数组_字符_字符数组

    1.字符串 由String类型定义的变量,一个变量代表一个字符串 String str="12345679"; 做题时,遇到输入为一字符串,需要对其进行分割操作时,将字符串各个字符 ...

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

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

  8. Net基础篇_学习笔记_第十二天_面向对象继承(字符串_字符串的不可变性)

    字符串的特点之一: 字符串的不可变性 1).字符串的不可变性 当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值. 当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向, ...

  9. 怎样在vs中监视char*字符串_字符串指针数据类型

    一.前言 在实际开发中,特别是芯片开发中,例如智能传感器芯片,经常直接使用C语言指针数据类型来操作寄存器.那么字符串指针就是我们常见的操作. C语言没有单独的字符串对象,它是通过数组的形式来表示字符串 ...

最新文章

  1. R语言使用igraph包进行网络(network)可视化实战
  2. simulink中mask设置_Mask Editor 概述
  3. 《深入Python》-11. HTTP Web 服务
  4. C++ 实现 STL 标准库和算法(二)template 编程和迭代器粗解 实验楼笔记
  5. vivaldi浏览器_上网高阶用户怎么能少了这3个无广告、安全免费的浏览器呢
  6. 聚类算法之DBScan(Java实现)[转]
  7. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...
  8. php+tp框架+API,【路由】利用Thinkphp路由实现API开发版本管理
  9. matlab没有找到图形用户界面,MATLAB中不能设计图形用户界面。
  10. 编译安装-httpd-2.2.15.tar.gz
  11. 第4章 批处理中的变量
  12. 服务器android打包,Android rom解包打包工具
  13. python 灰度图像素灰度值求和_如何在python中更改灰度图像中特定类型的像素值?...
  14. 电脑运行c语言时错误,电脑出现microsoft visual c++ runtime error 解决方法(多图)
  15. 怎样设置公众号自动回复
  16. 华东理工大学考研计算机难度,华东理工大学(专业学位)计算机技术考研难吗
  17. 【BZOJ1135】[POI2009]Lyz 线段树
  18. python学习之自动化运维(一):shell的使用
  19. 地方征信平台第2讲:河北省征信
  20. 网游中针对网络延迟的优化

热门文章

  1. 人脸识别之目标追踪识别
  2. RFID服装资产管理-新导智能
  3. GPT分区安装Linux双系统,UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
  4. 青蛙跳台阶c语言递归函数,【递归】青蛙跳台阶问题
  5. web(html运行)设置字体大小、样式及字体名称
  6. 在IntelliJ IDEA中,开发一个摸鱼看书插件
  7. 如何使用left join,以及left join的分析
  8. 学习Three.js——后期处理(EffectComposer)
  9. 2.线性回归,梯度下降与正规方程
  10. PLGA-PEG-MAL +多肽A+多肽B+DOX;PLGA-PEG-MAL +DOX