1.C语言基础-给字符数组赋值

2023-05-16

1.定义字符数组定义时直接初始化

定义字符数组定义时直接初始化,下面例子中直接将字符串123456的首地址赋值给a

char a[6]=123456;

需要注意的是,在定义之后,不可以在对a数组使用字符串直接初始化,如下

char a[6];
a = "123456"

a是一个静态数组,在C语言中其在编译期间为一个常量表达式,而常量表达式可以当做是常量来使用,所以不能对于a进行指针赋值操作,既然这样是错误的,这么对于字符数组进行赋值呢

2.字符数组单个字符的赋值操作

最简单的方法是通过for循环,使用数组下标方式或指针方式,来对字符数组进行赋值。
例子:

char a[10];
char ch=1;
for( i=0;i<10;i++ )
    a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值

char *p;
for(p=a; p<a+10; p++ )
    *p=ch++; //通过指针对数组相应元素赋

3、字符串赋值

实际上,可使用string.h头文件中的字符串操作函数进行赋值,那就是memcpy/strcpy或者sprintf,此memcpy 和 strcpy 的区别,后者只适用 string - 字符串,copy 数目大小由源string中的 '\0'来决定;而memcpy适用于所有类型,且由第三个参数决定 copy 的长度。函数原型为:

char *strcpy(char *dest, const char *src)
void *memcpy(void *dest, const void *src, size_t n)
int sprintf( char *buffer, const char *format, [ argument]);

例子:

#include <stdio.h>
#include <string.h>

int main()
{
    char a[10];
    strcpy(a, "123456");
    printf("%s\n", a);
    sprintf(a, "%s", "1234567");
    printf("%s\n", a);
    memcpy(a, "12345678", 8);
    printf("%s\n", a);
   
   return 0;
}

结果:

123456
123456
12345678

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1.C语言基础-给字符数组赋值 的相关文章

随机推荐

  • MDK的内嵌汇编与内联汇编

    内联汇编 asm 34 指令 34 这是内联汇编 而MDK下 xff0c 内联汇编仅支持ARM汇编语言 xff0c 不支持Thumb或者Thumb 2汇编语言 xff0c 但内嵌汇编器支持Thumb和Thumb 2 STM32的core c
  • 【李刚-21天通关Python-08】之 字典

    李刚 21天通关Python 08 之 字典 一 字典的概念 1 字典用于保存具有映射关系的数据 xff0c 字典相当于保存了两组数据 xff0c 其中一组数据被称为key xff0c 另一组数据可通过key来访问 xff0c 被称为val
  • 按键精灵 百度文字识别(百度ocr)OCRSpace文字识别

    目录 1 申请百度OCR服务1 1 百度OCR登录1 2 创建新应用1 3 免费领取次数1 3 查看是否创建成功 2 按键精灵运用百度OCR接口2 1 通用文字识别 xff08 高精度版 xff09 文档2 1 1 接口描述2 1 2 请求
  • Ubuntu系统扩大/home分区

    gparted是一款免费 开源的Linux下的具有图形用户界面的分区软件 在Ubuntu中 xff0c 可以使用如下命令安装 xff1a sudo apt get install gparted 之后就可以使用如下命令启动gparted s
  • sqlsever导入sql文件

    sqlsever导入sql文件 新建一个数据库 xff0c 数据库名与到导入的文件的数据库名一致 把文件拖入当前窗口 xff0c 把创建表的语句删除 xff0c creat table到go语句之前 xff08 因为创建表的路径不一样 xf
  • Python接口自动化——自动化测试分层(1)

    从本期开始 xff0c 我们会围绕 Python接口自动化 做专题连载 xff0c 今天开始做第一讲 自动化测试分层 目录 xff1a 1 1 1 1 单元自动化测试 2 1 1 2 接口自动化测试 3 1 1 3 UI自动化测试 现在流行
  • C++快读模板(读入整型数据)

    先上代码 span class token macro property span class token directive keyword include span span class token string lt iostream
  • Linux安装jenkins2.3详解

    Linux安装jenkins2 3详解 下载 官网下载jenkins xff0c 我们选择rpm包进行安装 xff1a 地址 xff1a https mirrors jenkins ci org redhat https get jenki
  • 程序设计思维 week4 作业C-TT 的神秘礼物

    题目 TT 是一位重度爱猫人士 xff0c 每日沉溺于 B 站上的猫咪频道 有一天 xff0c TT 的好友 ZJM 决定交给 TT 一个难题 xff0c 如果 TT 能够解决这个难题 xff0c ZJM 就会买一只可爱猫咪送给 TT 任务
  • 程序设计思维 week11 作业E-东东与ATM

    题目 一家银行计划安装一台用于提取现金的机器 机器能够按要求的现金量发送适当的账单 机器使用正好N种不同的面额钞票 xff0c 例如D k xff0c k 61 1 2 N xff0c 并且对于每种面额D k xff0c 机器都有n k张钞
  • 程序设计思维 CSP-M3

    T1 瑞神的数列 题目 Sample Input 12 2 3 3 6 6 6 1 1 4 5 1 4 Sample Output 8 思路 利用vector xff0c 使用vector lt int gt v储存数字 若v为空 xff0
  • ubuntu一段时间后突然无法上网

    在VMware中安装Ubuntu虚拟机 xff0c 总会发生无法上网的情况 xff0c 主要情况有以下几点 xff1a 宿主机可以上网 xff1b 虚拟机却无法访问网页虚拟机ping不通任何网站 xff0c 用浏览器显示error 一般情况
  • STM32 - 使用 HAL 库实现软件模拟 I2C

    不要让自己太懒的个人空间 I2C 的两个引脚 xff08 SCL 引脚和 SDA 引脚 xff09 需要既能输出又能输入 xff0c 为了避免复杂的配置操作需要把该引脚配置为开漏输出模式 xff0c 该模式的说明如下图所示 xff1a 当单
  • 二进制基础:补码,左移,右移

    binary 引入为什么要有补码特殊的值溢出数学移位逻辑位移逻辑右移的应用 引入 二进制是计算机的基础 xff0c 追根溯源还是因为Si的半导体性 除了二进制 xff0c 还有十六进制 xff0c 它是简化二进制的表示 做个测试 xff1a
  • GitLab配置SSH key

    1 我们已经有了gitlab的账户 xff0c 项目组已经将我们添加到了group 2 打开git bash xff0c 输入命令 ls al ssh 如果显示如下图 xff1a 则表示生成过key 可以去执行第4个步骤 否则的话执行第三个
  • centos误删python2后怎么重新安装

    此教程为离线安装 一 先查询系统版本 cat proc version Linux version 3 10 0 1127 el7 x86 64 mockbuild 64 kbuilder bsys centos org gcc versi
  • Week 6 H (A - 氪金带东)(B - 戴好口罩!)(C - 掌握魔法の东东 I)(D - 数据中心)

    Week 6 A 氪金带东题意思路代码 B 戴好口罩 xff01 题意思路代码 C 掌握魔法 东东 I题意思路代码 D 数据中心题意思路代码 A 氪金带东 题意 思路 首先 xff0c 这个图是棵树 解法 xff1a 三遍DFS 前两遍用来
  • CSP M2(A - HRZ 的序列)(B - HRZ 学英语)(C - 咕咕东的奇妙序列)

    CSP M2 A HRZ 的序列题意思路代码 B HRZ 学英语题意思路代码 C 咕咕东的奇妙序列题意思路代码 A HRZ 的序列 题意 思路 我们先求有多少个不同的数 xff0c 记为cnt xff0c 然后分情况进行处理 cnt gt
  • CSP M4 (A - TT数鸭子)(B - ZJM要抵御宇宙射线)(C - 宇宙狗的危机)

    CSP M4 A TT数鸭子思路代码 B ZJM要抵御宇宙射线思路代码 C 宇宙狗的危机思路代码 A TT数鸭子 思路 给你n个很多未的数 xff0c 然后有个k表示最大能有k 1位数是不一样的 xff0c 输出符合的数的个数 xff08
  • 1.C语言基础-给字符数组赋值

    1 定义字符数组定义时直接初始化 定义字符数组定义时直接初始化 下面例子中直接将字符串123456的首地址赋值给a span class token keyword char span a span class token punctuat