数组空间的初始化就是为每一个标签地址赋值。按照标签逐一处理。如果我们需要为每一个内存赋值,假如有一个int a[100];我们就需要用下标为100个int类型的空间赋值。这样的工作量是非常大的,我们就想到了让编译器做一些初始化操作,初始化操作是第一次赋值,第二次赋值就不能再这样赋值了。

int a[10]=空间;

我需要给它一个空间,让它对这里面的值进行批量处理;比如int a[10]={10,20,30}; //a[1]=10,a[2]=20,a[3]=30,a[4]=…=a[9]=0所以实际上还是批量内存拷贝的结果,未赋值的结果就是0。初始化与我们逐一赋值的效率是一样的。批量拷贝仅限于第一次赋值。

注意:数组空间的初始化和变量的初始化本质不同,尤其在嵌入式的裸机开发中,空间的初始化往往需要库函数的辅助。

char buf[10]={‘a’,’b’,’c’}; //c的字符串有一个重要的属性,字符串结尾有一个字符’\0’代表字符串的结束。因为我们这里为字符串空间定义了10个字符的大小,但是有时候我们并没有使用完这10个字节,打印的时候10个字节的打印也是错误的,所以为了给字符串一个结束的标志,让其它的函数比如printf函数输出的时候知道它的结尾。

char buf[]=”abc”; //省略数组大小,C会为数组指定大小,这里就是三个字符加上一个结尾标志,数组大小就是4

char buf[10]={“abc”};

char buf[10]=“abc”; //将三个字符批量拷贝到它分配的空间,末尾加’\0’

char *p=“abc”; //先给三个字符分配空间,再将指针指向字符串的首地址,这指向的是一个常量字符串。

buf[2]=’e’; //这是可以的

p[2]= ’e’; //这是不可以的,p指向的是常量区

测试代码如下

我们将这个字符串作为printf函数的参数,它返回的实际上是常量字符串的首地址,而我们这里将它作为一个整型来打印,有一个警告,应该把它作为无符号整型(内存地址是正整型的)来打印。

运行结果如下

可以看到的确打印了一个地址,说明双引号返回的的确是一个地址,正好和我们前面介绍的字符数组获取到它的首地址,然后依次拷贝,但是字符指针就直接得到它的地址存储。这些不同的操作就是数据类型具体的操作了。

c语言中整型数组如何初始化,C语言数组空间的初始化详解相关推荐

  1. c定义一个整型数组_滨州学院C语言作业讲解有序数组插入

    点击蓝字 关注我们 + 滨州学院C语言作业详解 [问题描述]一个长度为11的整型数组中存放有10个从小到大排好序的整数:1 3 5 10 23 100 180 200 350 500.输入一个x,把它 ...

  2. c语言不同类型指针间的强转,C语言中不同的结构体类型的指针间的强制转换详解...

    C语言中不同类型的结构体的指针间可以强制转换,很自由,也很危险.只要理解了其内部机制,你会发现C是非常灵活的. 一. 结构体声明如何内存的分布, 结构体指针声明结构体的首地址, 结构体成员声明该成员在 ...

  3. c语言中整形数据分为几进制,c语言中整型数据中的8进制以及16进制数据 – 手机爱问...

    2018-01-24 ▉当a=3,b=2,c=1时,表达式f=a>b>c的值是[ ].▉在C语言中,表示逻辑"真"值用[ ].▉C语言提供的三种逻辑运算符是[1].[2 ...

  4. c语言整形符号位_C语言中整型数据的有效位数是多少?

    展开全部 1.从二进制的角度来看整数62616964757a686964616fe4b893e5b19e31333337386663的有效位数,要从整数的编码说起,有符号整数编码包括原码.反码和补码三 ...

  5. C语言——一维整型数组的 镜像对调

    目录 1.认识 2.实例 3.注意 1.认识: 镜像对调:将数组的第一个数与最后一个数,第二个数与倒数第二个数对调,以此类推以完成镜 像对调. 2.实例: (1)代码段: #include<st ...

  6. java整型数组转置输出,Java实现数组转置

    public class DayE2 { public static void main(String[] args) { int [] datas=new int[]{1,2,3,4,5,6}; i ...

  7. 指针||指针和数组||指针和函数||指针、数组、函数 案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序

    指针 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一般用十六进制数字表示 可以利用指针变量保存地址 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名 ...

  8. C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

    1. 题目 请编写一个函数function,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回.主函数中x是数组名,n 是x中的数据个数,max存放最大值,i ...

  9. c语言去掉数组中重复的,C语言删除无序整型数组中的重复元素及时间复杂度

    数组重复的问题在任何编程中都会有碰到了,这里介绍C语言删除无序整型数组中的重复元素及时间复杂度,希望对各位有帮助. 遇到一个题,大概要求是写一个函数处理来去掉一个无序的整型数组(例如int i_arr ...

最新文章

  1. 暑期集训2:ACM基础算法 练习题C:CF-1008A
  2. c++ 全局变量初始化的一点总结
  3. 数组实现栈,实现push,pop,size方法 -- 面试算法
  4. 前端开发工具vue.js开发实践总结
  5. C++工作笔记-C++代码实现接口的概念
  6. 创新性应用深度学习,IBM在语音识别领域取得了里程碑式突破
  7. 2021大二实训part02
  8. dingtalk 推送手机号信息 golang_PureQuant使用功能介绍(二):通过配置模块导入API信息...
  9. java date the type is ambiguous,The type File is ambiguous,该如何解决
  10. uni-app 页面中的背景图片高度和宽度自适应
  11. PS 羽化工具使用
  12. 2021年冬季PAT乙级题解(C/C++语言)
  13. saas系统的微服务器,基于微服务架构的SaaS服务应用的研究与实践
  14. 外企做开发,爽吗?(HSBC篇)
  15. ORACLE ERP 系统架构与应用实践
  16. 修复LSP 解决不能上网问题
  17. 《好好学习》读书笔记心得感悟1400字
  18. 揭秘:历史上十大被丢失的中国城市
  19. 关于Github登录 token 失效(重新设置)
  20. TCL爱奇艺电视手机遥控器

热门文章

  1. Android Studio Xposed模块编写(二)
  2. hdu1212(大数取模)
  3. codevs 3186 队列练习2
  4. python学习笔记(对象)
  5. WindowsXP 下搭建PHP环境(笔记)
  6. 计算机求百钱买百鸡采用的算法,多种解法求百钱百鸡问题.doc
  7. oracle数据库恢复备份步骤
  8. P2207 Photo
  9. 软件测试实验1:JUnit、Hamcrest、Eclemma
  10. Java是如何实现跨平台运行的