在C语言中,要定义一个int类型的数组,您需要指定数组的名称和大小 #include<stdio.h> int main() { // 定义一个包含5个元素的int数组 int my_array[5]; // 为数组赋值 my_array[0] = 1; my_array[1] = 2; my_array[2] = 3; my_array[3] = 4; my_array[4] = 5; // 输出数组元素 fo...
void display(int *a, int *p){ int i;for(i = 0; i < *p; ++i)printf("%5d",a[i]);printf("\n");} void main( ){ int a[10],n=0,m;do{ printf("1,输入数组\n""2,插入数据\n""3,显示数组\n""4,删除数据\n""5,数组排序\n""0,退出\n");scanf("%d",&m);sw...
在main里面和声明称全局变量的内存分配是不一样的//直接定义的话,是有限制的,因为直接定义是放在栈内存中的,而栈内存是有限的,//所以,大量数据定义的话,应该放在堆内存中定义成静态变量,或者new出空间来放数组int main(){ a[99999]=3; printf("%d",a[99999]);return 0;} ...
int n;scanf("%d", &n);int a[n][n]={0};错误有2处:1、数组的定义与声明部分应该放到执行语句的前面,即scanf语句之前;2、由于在编译阶段变量n的值是未知的,所以数组a的大小也是未知的,因此计算机就不知道该给数组分配多大的内存空间,造成编译错误。
首先,使用sizeof的方法是可以的。甚至可以写出一个宏:defind LENGTH(a) (sizeof(a)/sizeof(*(a)))注意a一定不能是指针。这个逻辑是不对的:sizeof(int)未必是4。没有。C++倒是可以用模板写一个。strlen获得的是“C风格字符串”的长度,不是数组的长度。它干不了这事。
办法有二:1. 函数内部新数组定义为static,这样可以直接把这个数组返回出来;2. 在函数内部把新数组的内容拷贝到外部数组里。
C 语言下标 没有这种写法。FOTRAN 90 用 小括号,例如 a(0:10), 表示1维数组,下标从0到10,相当 C 语言 声明 int a[11].定义了int a[10]。 a[0] 的第一位 十进制个位 a[0]%10
在C语言中,数组的抄大小在定义的时候必须确定大小,不然在编译阶段进行内存分配的时候,计算机不知道该给数组分配多大的内存单元,所以会报错。 对于如下程序段:int n;scanf("%d", &n);int a[n][n]={0}; 错误有2处: 1、数组的定义与声明部分应该放到执行语句的前面,即scanf语句之前; 2、由于在编译阶段变量...