C语言中的数组为什么不可赋值给另一个数组?数组的初始化,除了遍历赋值,还可以怎么被赋值?

2023-11-14

C语言中的数组为什么不可赋值给另一个数组?

因为数组为指针常量,如 int a[]; int b[]; b = a; 是错误地,因为 int a[] 是 int * const a, int b[] 是 int * const b,一个指针常量不可以被另一个指针常量修改(地址常量不可以被修改)。

数组的初始化,除了遍历赋值,还可以怎么被赋值?

数组在全局变量时,int可以被编译器赋值为0;作为局部变量时,需要进行赋值进行初始化,否则会出现奇怪的数字。

局部变量 int a[10] = {0};  int a[10] = {1}; int a[10] = {[2]=3,4,[5]=8} 是缺省的赋值,其他值为0。

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

C语言中的数组为什么不可赋值给另一个数组?数组的初始化,除了遍历赋值,还可以怎么被赋值? 的相关文章

  • Linux发送接收邮件

    目录 一 实验 1 linux用户发送给linux中的其它用户 2 linux用户发送给外网用户 一 实验 1 linux用户发送给linux中的其它用户 1 使用命令 yum install y sendmail 安装sendmail软件
  • C++类的三大特性之继承

    目录 一 继承的概念与使用 lt 1 gt 什么是继承 lt 2 gt 如何使用 二 基类与派生类间的转换 三 继承的作用域 四 派生类的默认成员函数 lt 1 gt 构造函数 lt 2 gt 拷贝构造 lt 3 gt 赋值运算符重载 lt
  • Gradle DSL method not found: 'runProguard()'

    Gradle DSL method not found runProguard Android studio 本来刚升级studio到1 0的时候就想写这篇文章的 但是没空就没写了 好吧 今天把这个问题写下 因为很多同事也遇到这个问题 解决
  • 关于servlet的 url-pattern 配置

  • GD32F303移植ATH10温湿度模块

    目录 前期准备 移植准备 开始移植 ATH10 c ATH10 h main c 效果图 总结 前期准备 开发硬件 GD32F303RCT6开发板 开发平台 Keil5 网盘资料 见文章底部 移植准备 ATH10模块I2C驱动使用到us延时

随机推荐