首页 > 其他分享 >c语言中声明数组时, 元素个数必须使用常量表达式

c语言中声明数组时, 元素个数必须使用常量表达式

时间:2024-11-06 19:09:53浏览次数:3  
标签:常量 int PC1 个数 default warning test root 表达式

 

001、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c        ##  测试程序
#include <stdio.h>

int main(void)
{
        int var1 = 5;              // 初始化一个变量var1

        int array1[var1] = {3,5,8,4,9};    // 初始化数组

        return 0;
}
[root@PC1 test]# gcc test.c -o kkk          ## 无法进行编译,说明声明数组个数时,必须使用常量表达式
test.c: In function ‘main’:
test.c:7:2: error: variable-sized object may not be initialized
  int array1[var1] = {3,5,8,4,9};
  ^
test.c:7:2: warning: excess elements in array initializer [enabled by default]
test.c:7:2: warning: (near initialization for ‘array1’) [enabled by default]
test.c:7:2: warning: excess elements in array initializer [enabled by default]
test.c:7:2: warning: (near initialization for ‘array1’) [enabled by default]
test.c:7:2: warning: excess elements in array initializer [enabled by default]
test.c:7:2: warning: (near initialization for ‘array1’) [enabled by default]
test.c:7:2: warning: excess elements in array initializer [enabled by default]
test.c:7:2: warning: (near initialization for ‘array1’) [enabled by default]
test.c:7:2: warning: excess elements in array initializer [enabled by default]
test.c:7:2: warning: (near initialization for ‘array1’) [enabled by default]

 。

 

002、验证

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c                    ## 测试程序
#include <stdio.h>

int main(void)
{
        int var1 = 5;

        int array1[5] = {3,5,8,4,9};           // 这里数组个数修改为常量

        return 0;
}
[root@PC1 test]# gcc test.c -o kkk           ## 可以编译了
[root@PC1 test]# ls
kkk  test.c

 。

 

003、使用对象式宏

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c
#include <stdio.h>
#define NUMBER 5                                    // 定义了一个对象式宏

int main(void)
{
        int var1 = 5;

        int array1[NUMBER] = {3,5,8,4,9};           //使用对象式宏变量

        return 0;
}
[root@PC1 test]# gcc test.c -o kkk                  ## 编译
[root@PC1 test]# ls
kkk  test.c

 。

 

标签:常量,int,PC1,个数,default,warning,test,root,表达式
From: https://www.cnblogs.com/liujiaxin2018/p/18530864

相关文章

  • 如何使用YOLOv5来训练——建筑工地安全图像数据集,并附上详细的训练代码和步骤。这个数
    如何使用YOLOv5来训练——建筑工地安全图像数据集,并附上详细的训练代码和步骤。这个数据集包含10个类别,标注为YOLO格式。安全帽面罩安全锥等数据集进行检测建筑工地安全行为图像数据集yolo格式0:“安全帽”,1:“面罩”,2:“无安全帽”、3:“无面罩”、4:“无安全背心”、5:“......
  • 如何使用深度学习框架(PyTorch)来训练——147913张图像的超大超详细垃圾分类数据集,并附
    超大超详细垃圾分类数据集(分类,分类),共4大类,345小类,147913张图,已全部分类标注完成,共12GB。厨余垃圾76小类35058张可回收物195类86116张其他垃圾53类16156张有害垃圾18小类10583张 如何使用深度学习框架(如PyTorch)来训练一个包含147913张图像的超大超详细垃圾分类......
  • Java函数式编程基础之【Lambda表达式】疑难问题析解
    一、Lambda表达式概述Lambda表达式是Java8引入的一个重要特性,它是函数式编程的基础。Lambda表达式本质上是一种匿名函数(AnonymousFunction),是代码块。Lambda表达式允许将函数作为方法的参数或者将代码块作为数据进行传递。匿名内部类和Lambda表达式匿名内部类和Lambda......
  • 《XGBoost算法的原理推导》12-1加法模型表达式 公式解析
    本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。公式(12-1)是XGBoost的加法模型表达式,用于描述如何通过多个基模型的组合来进行预测。我们来逐步解析这个公式。公式(12-1)的形式......
  • 初学Java基础---Day21---正则表达式,日期类,Math类,Random类,System类,Runtime类,大数值运
    一,正则表达式理解:        符合某个语句规范的字符串案例://案例:把一个字符串中带电话号码替换成130****1111的形式Stringstr="小红13012341111小绿15112342222小黑13912343333";//分析:电话号码可以分为三组如:(130)(1234)(1111)其中第一组中的1是固定/......
  • 数据类型转换和Ascii表常用的几个数值
    1.数据类型转换:当数据类型不一致时,会发生数据类型转换(1)自动类型转换(隐式):数据范围从较小到较大时,代码不需做特殊处理,自动完成(2)强制类型转换(显式):数据范围从较大到较小时,代码需要特殊处理处理格式:范围小的类型范围小的变量名=(范围较小的类型)范围较大的数据;注意:<1>.强制类......
  • El表达式&jstl
    JSP是一种用于创建动态网页的Java技术。EL(表达式和JSTL是JSP中常用的扩展,用于简化页面开发和增强功能。JSPJSP允许开发者将Java代码嵌入到HTML页面中,以生成动态内容。JSP页面最终会被转换为Servlet并执行。基本语法:<%...%>:用于嵌入Java代码。<%=...%>:用......
  • c语言学习5运算符与表达式
    5.1运算符与表达式5.1.1运算符:对数据进行操作赋值运算符:=算术运算符:+-*/%关系运算符:<><=>===!=逻辑运算符:&&||!位运算符:&|!<<>>~^其他运算符:++复合运算 三目运算5.1.2表达式:①表达式可以是常量,变量,运算符和操作数的组合形式If(表达式){}While(表达......
  • 关于字符与字符常量的理解
    在C语言中,字符常量和字符变量是不同的概念:1.字符常量字符常量是代码中用单引号括起来的单个字符,表示这个字符的ASCII值。字符常量本质上是一个整数常量,代表该字符的ASCII值或其他编码值(如UTF-8)。示例:charch='A';//'A'是字符常量,其ASCII值为65特点:字符常......
  • 判断一个数是不是质数(素数)
    publicstaticbooleanisPrime(intn){if(n<=3){returnn>1;)for(inti=2;i<n;i++){if(n%i==0){returnfalse;})returntrue;}质数(也称为素数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。换句话说,质数只能被1和它自身整除。例如,2,3,......