c语言中数组的声明喝初始化的区别和联系

news/2025/3/14 23:56:02/文章来源:https://www.cnblogs.com/liujiaxin2018/p/18506813

 

 

声明是不赋值; 初始化是给数组元素赋值。

001、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c                        ## 测试c程序
#include <stdio.h>int main(void)
{int ay[3];                                // 声明,不赋int by[3] = {3,8,2};                      // 初始化,赋int i;for(i = 0; i < 3; i++){printf("ay[%d] = %d\t", i, ay[i]);}puts("");for(i = 0; i < 3; i++){printf("by[%d] = %d\t",i, by[i]);}puts("");return 0;
}
[root@PC1 test]# gcc test.c -o kkk
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk               ## 运算, 声明后,返回元素的值是不可预期的,为什么?
ay[0] = -1620501232     ay[1] = 32764   ay[2] = 0
by[0] = 3       by[1] = 8       by[2] = 2

 。

 

b、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c                         ## 测试c程序
#include <stdio.h>int main(void)
{int ay[3];                                // 先声明ay[3] = {3,8,6};                          // 然后这样初始化赋值时不可以的,只能单个元素赋值,为什么会有这种限制return 0;
}
[root@PC1 test]# gcc test.c -o kkk           ##   编译报错
test.c: In function ‘main’:
test.c:7:10: error: expected expression before ‘{’ tokenay[3] = {3,8,6};^

 。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/822614.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux虚拟机网络配置

本章将和大家分享VMware虚拟机安装Linux系统时如何进行网络配置。本章将和大家分享VMware虚拟机安装Linux系统时如何进行网络配置。 一、设置 VMware 虚拟网络选择虚拟网络编辑器:选择更改设置:此处选择VMnet0、桥接模式、自动,然后应用并确定。 二、编辑 Linux 虚拟机网络点…

Golang Agent 可观测性的全面升级与新特性介绍

自 2024 年 6 月 26 日,ARMS 发布了针对 Golang 应用的可观测性监控功能以来,阿里云 ARMS 团队与程序语言与编译器团队一直致力于不断优化和提升该系统的各项功能,旨在为开发者提供更加全面和深入的应用性能监控体验。作者:张海彬(古琦) 背景 自 2024 年 6 月 26 日,ARM…

2024-2025-1 20241322《计算机基础与程序设计》第5周学习总结

2024-2025-1 20241322《计算机基础与程序设计》第5周学习总结 作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标 <Pep/9虚拟机 机器语言与汇编…

【CodeForces训练记录】Codeforces Round 982 (Div. 2)

训练情况赛后反思 A题3分钟秒了,神必B题,剩下两个小时罚坐,超! A题 我们容易发现,这一坨东西的周长等效于它变成长方形的周长,就把每一条边移出来。因为长宽更大的情况下,无论如何横竖放都会对答案有贡献,所以我们放的时候尽可能长宽重复覆盖,最后取长和宽的最大值,所…

2024-2025 20241318《计算机基础与程序设计》第五周学习总结

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第五周作业)这个作业的目标 计算机科学概论(第七版)第6章 并完成云班课测试《C语言程序设计》第4章并完成云班…

2024-2025-1 20241305 《计算机基础与程序设计》第五周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里 2024-2025-1计算机基础与程序设计第五周作业(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276))这个作业…

阿里云开源 AI 应用开发框架:Spring AI Alibaba

Spring AI Alibaba 项目的产生背景是生成式 AI 与大模型在过去一年的快速发展,大家应该有直观的感受,周边所有人都在聊模型服务,但是训练大模型本身是少部分企业和算法工程师的职责,我们作为使用方、开发者,更关注的应该是如何为我们的应用接入生成式AI能力。作者:刘军,…

c++程序设计基础实验2

任务1: 测试代码: task1.cpp#pragma once #include <string> // 类T: 声明 class T { // 对象属性、方法 public: T(int x = 0, int y = 0); // 普通构造函数 T(const T &t); // 复制构造函数 T(T &&t); // 移动构造函数 ~T(); // 析构函数 t.cpp void adj…

JAVA第一次博客作业

一、前言总结三次题目集的知识点、题量、难度等情况这三次题目集的最后一道大作业是一系列递进的编程作业。 第一次作业 答题判题程序-1  设计一个简单的答题判题程序,要求输入题目信息和答题信息,根据标准答案判断答题结果。 主要知识点: 基本的类设计和对象创建。输入输…

如何阅读 CPU 电路图(以 6502 为例)

开篇 你是否曾对 CPU 的工作原理充满好奇,以及简单的晶体管又是如何组成逻辑门,进而构建出复杂的逻辑电路实现?本文将以知名的 6502 CPU 的电路图为例,介绍如何阅读 CPU 电路图,并向你演示如何从晶体管电路还原出逻辑门电路。通过这篇文章的引导,你将能够揭开 CPU 复杂设…

RSA公钥文件解密密文

RSA公钥文件解密密文RSA公钥文件解密密文 做题遇到两个从未见过的文件:flag.enc …

2024-2025-1 20241411王思棋《计算机基础与程序设计》第五周学习总结

班级链接 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05教材学习内容总结 《计算机科学概论》第六章 一、低级程序设计语言概述 (一)定义与特点 低级程序设计语言是一种更接近计算机硬件的编程语言,…