hyfm.net
当前位置:首页 >> C 如何引用数组 >>

C 如何引用数组

应该是c吧.原因是:你应该把数组的声明和引用分开,声明的时候〔〕里边放的是元素的个数,比如int a[3][4]就说明是3行4列.引用的时候〔〕里的数的意义就不一样了,是索引.而且你应该格外注意的是,c语言的索引是从0开始的.举个简单的例子吧.int a[3][2];这个2*3的二维数组.他的索引和排列应该是 a[0][0],a[0][1] a[1][0],a[1][1] a[2][0],a[2][1] 看到了吧,索引比声明的时候要小1.

c语言调用数组返回数组可用两种形式实现: 1、通过参数返回数组 void add_1( int a[], int n, int b[] ) { int i; for( i=0;i<n;i++ ) b[i]=a[i]+1; }2、返回动态分配数组(指针,需要调用者free释放) #include <stdlib.h> //动态分配内存malloc需要引用该头文

三种方法.1、下标法(subscripts) A(ii,jj):其中ii和jj可以是一维向量、标量、“:”号或者“end” 比如:A(2:3,3:-1:1)表示引用数组中的2~3行,3~1列对应的元素 A(:,end)表示引用最后一列元素,“:”表示所有列或行,“end”表示最后一列

要引用数组宏的每个元素做些计算,可以将数组及数组的长度作为参数同时传递给调用函数就可以实现了,比如:#include<stdio.h> int sum(int a[], int size) { int i, result = 0; for (i = 0; i < size; i++) { result += a[i]; } return result; } main() { int a[8]; int s,i; for (i = 0; i < 8; i++) { scanf("%d", &a[i]); } s = sum(a, 8); printf("%d", s); }

数组a是二维字符型数组,在内存中的存放顺序是: [0,0][0,1][0,2][0,3][1,0][1,1][1,2][1,3],执行拷贝语句strcpy(a,"are")后,a[0,0] = 'a',a[0,1] = 'r',a[0,2] = 'e',该命令自动在a[0,3]中放入字符串结束符'\0'.同理,执行拷贝语句strcpy(a[1],"you")后,a[1,0] = 'y',a[1,1] = 'o',a[1,2] = 'u',该命令自动在a[1,3]中放入字符串结束符'\0'.执行语句a[0][3]='&'后,使原来两个字符串合并为一个,所以答应输出的结果是: are&you.

#include "stdio.h"//#include "math.h"// double LogSum(double p[],int n){ int i; double sum=0; for(i=0;i<n;sum+=log10(p[i++])); return sum; } void main(void){ double a[6]; int i; printf("Type 6 real numbers\n"); for(i=0;i<6;scanf("%lf",a+i++)); printf("sum=%f\n",LogSum(a,6)); }

最简便的方法就是使用指针,定义同类型的指针指向数组的起始位置,接下来使用*++或者*+n来操作 例如:char arry【5】;char *ch = &arry【0】;for (int i = 0; i < 5; i++) { cout << ch++;} for (int i = 0; i < 5; i++) { cout << ch + i; }

#include<iostream> usingnamespacestd; intarray_length(int(&a)[5]) { returnsizeof(a)/sizeof(a[0]); } intmain() { intarray[5]={0};//定义5个元素的int型数组 cout<<array_length(array)<<endl; return0; } 这有一篇文章专门讲这个,你看看:http://blog.

1、C89/C90标准:定义数组时下标只允许使用整型、字符型常量,引用数组时下标可以使用整型、字符型的常量或者变量2、C99标准:定义数组时下标可以使用整型、字符型的常量或变量,但变量必须已经赋值;引用数组时下标可以使用整型

1、数组名其实等同于一个常量指针,直接使用数组名即可引用.2、直接用数组名字调用即可.如:int a[10]={0,1,2,3,4,5,6,7,8,9];//定义一个数组变量并赋初值 可以用a[3]、a[8]分别调用第3个元素(2)和第8个元素(7),如:int b;//定义一个整形变量 可以用:b=a[3]+a[8]; 执行上面以后b的值会成为:9(2+7=9)

网站首页 | 网站地图
All rights reserved Powered by www.hyfm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com