zoukankan      html  css  js  c++  java
  • C语言学习之我见-strcpy()字符串复制函数

    strcpy()函数,用于两个字符串值的复制。
    (1)函数原型

    char * strcpy(char * _Dest,const char * _Source);
    

    (2)头文件

    string.h
    

    (3)功能

    将从const char * _Source到''结尾的字符串(包括'')复制到char * _Dest
    所指的字符串处。
    返回值char * = char * _Dest
    

    (4)基础实例代码

        char a[30] = "12345678901234567890";
    	char b[]="zobol";
    	for(int i=0;i<30;++i)
    	{
    		printf("%d ",a[i]);//将字符数组中的所有值都输出
    	}
    	for(int i=0;i<6;++i)
    	{
    		printf("%d ",b[i]);
    	}
    
    	strcpy(a,b);//关键函数
    	for(int i=0;i<30;++i)
    	{
    		printf("%d ",a[i]);
    	}
    	printf("%s
    ",a);
    

    (5)输出情况
    在这里插入图片描述

    (6)问题1:对于char * _Dest所指向字符数组,''后面的值会被替换吗?
    回答:不会,这个函数只指向字符串,不会自动将后面的值填充为''
    在这里插入图片描述

    (7)问题2:如果char * _Des所指向的字符数组如果空间不够大,会怎么样?
    回答:C语言这个函数无法得知数组的最大容量,会强制填充,有可能会污染后面的数据,发生溢出现象。

    (8)问题3:为什么不直接pts1=pts2?
    回答:因为在C语言中,数组的名字不是数组的“对象”,而只是指向数组第一个元素的首地址。

    a=&a[0]
    

    如有帮助,欢迎关注我的个人公众号:zobol的魔法藏书室

  • 相关阅读:
    Sumdiv POJ
    Tallest Cow POJ
    P2280 [HNOI2003]激光炸弹(二维前缀和)
    Strange Towers of Hanoi POJ
    Manjaro (KDE)安装踩坑记录
    Petya and Array CodeForces
    CodeForces
    Philosopher’s Walk(递归)
    2018 icpc 青岛网络赛 J.Press the Button
    POJ 1003: Hangover
  • 原文地址:https://www.cnblogs.com/zobol/p/14357861.html
Copyright © 2011-2022 走看看