-
2022-02-21 17:45:19
1.
#include <stdio.h> #include <stdlib.h> int main() { int a[5],i; printf("Input five numbers:"); for(i=0;i<5;i++) { scanf("%d",&a[i]); } for( i=0; i<5; i++) { printf("%4d",a[i]); } //printf("\n"); return 0; }
2.
#include <stdio.h> #include <stdlib.h> int main() { int a[5],*p; printf("Input five numbers:"); for( p=a;p<a+5;p++ ) { scanf("%d",p ); } for( p=a;p<a+5;p++ )//p加上了1*sizeof(int),取决于p的基类型 { printf("%4d",*p); } //printf("\n"); return 0; }
2.2 把p当a
#include <stdio.h> #include <stdlib.h> int main() { int a[5],*p = NULL,i; printf("Input five numbers:"); p = a; for( i=0;i<5;i++ ) { scanf("%d",&p[i] ); } for( i=0;i<5;i++ ) { printf("%4d",p[i]); } //printf("\n"); return 0; }
3.
函数里用数组
void InputArray(int a[],int n) { int i; for( i=0;i<n;i++) { scanf("%d",&a[i]); } } void OutputArray(int a[],int n) { int i; for( i=0;i<n;i++ ) { printf("%4d",a[i]); } }
在函数里用指针
void InputArray(int *pa,int n) { int i; for( i=0;i<n;i++,pa++ ) { scanf("%d",pa); } } void OutputArray(int *pa,int n) { int i; for( i=0;i<n;i++,pa++ ) { printf("%4d",*pa); } }
完整使用(1)
#include <stdio.h> #include <stdlib.h> void InputArray(int a[],int n) { int i; for( i=0;i<n;i++) { scanf("%d",&a[i]); } } void OutputArray(int a[],int n) { int i; for( i=0;i<n;i++ ) { printf("%4d",a[i]); } } int main() { int a[5]; printf("Input five numbers:"); InputArray(a,5); OutputArray(a,5); return 0; }
(2)
#include <stdio.h> #include <stdlib.h> void InputArray(int a[],int n) { int i; for( i=0;i<n;i++) { scanf("%d",&a[i]); } } void OutputArray(int a[],int n) { int i; for( i=0;i<n;i++ ) { printf("%4d",a[i]); } } int main() { int a[5]; int *p=a; printf("Input five numbers:"); InputArray(p,5); OutputArray(p,5); return 0; }
更多相关内容 -
1. 若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是
2021-05-22 13:20:05该楼层疑似违规已被系统折叠隐藏此楼查看此楼西工大机考《C语言程序设计》网考寻求答案(非免费)找我Q...,以下选项中对a数组元素正确引用的是( )。A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]2. 以下描述错误的是...该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
西工大机考《C语言程序设计》网考
寻求答案(非免费)找我Q和V:2082851315
试卷总分:100 得分:96
一、 单选题 (共 35 道试题,共 70 分)
1. 若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是( )。
A.a[2][!1]
B.a[2][3]
C.a[0][3]
D.a[1>2][!1]
2. 以下描述错误的是( )。
A.break语句不能用于循环语句和switch语句外的任何其他语句
B.在switch语句中使用break语句或continue语句的作用相同
C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环
D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
3. 以下存储类型只有在使用时才为该类型变量分配内存的是( )。
A.auto和static
B.auto和register
C.register和static
D.static和extern
4. 若变量已正确定义,有以下程序段
int a=3,b=5,c=7;
if(a>b) a=b; c=a;
if(c!=a) c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是( )。
A.程序段有语法错
B.3,5,3
C.3,5,5
D.3,5,7
5. 函数strlen("1234\0xy")的值为( )。
A.7
B.8
C.4
D.9
6. 若二维数组a由m列,则在a[i][j]之前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
7. 假定x和y为 double型,则表达式x=2,y=x+3/2的值是( )。
A.3.500000
B.3
C.2.000000
D.3.000000
8. 设变量已正确定义并赋值,以下正确的表达式是( )。
A.x=y*5=x+z
B.int(15.8%5)
C.x=y+z+5,++y
D.x=25%5.0
9. 在C语言中,设一表达式中包含有int,long,char和unsigned类型的变量和数据,则这4种类型数据转换的规则是( )。
A.int→unsingned→long→char
B.char→int→long→unsingned
C.char→int→unsigned→long
D.int→char→unsigned→long
10. 若有说明:int *p,m=5,n;,以下正确的程序段是( )。
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
11. 在C语言中,变量的隐含存储类别是( )。
A.auto
B.static
C.extern
D.无存储类别
12. 函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是( )。
A.funa(int *x, int *y)
{ int *p;
*p=x; *x=*y; *y=*p;
}
B.funb(int x, int y)
{ int t;
t=x; x=y; y=t;
}
C.func(int *x, int *y)
{ *x=*y; *y=*x;
}
D.{fund(int *x, int *y)
13. 在C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( )。
A.auto和register
B.extern和register
C.auto和static
D.static和register
14. 以下定义语句中正确的是( )。
A.int a=b=0;
B.char A=65+1,b=′b′;
C.float a=1,*b=&a,*c=&b;
D.double a=0.0;b=1.1;
15. 以下描述中正确的是( )。
A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,是先执行一次循环,再进行判断
D.do-while循环中,根据情况可以省略while
16. 下面程序的输出结果是( )。
main()
{
int s,k;
for(s=1,k=2;k<5;k++) s+=k;
printf("%d\n",s);
A.1
B.9
C.0
D.15
17. 以读写方式打开一个已有的文件file1,下面有关fopen函数正确的调用方式为( )。
A.FILE *fp;fp=fopen("file1";"f");
B.FILE *fp;fp=fopen("file1","r+");
C.FILE *fp;fp=fopen("file1","rb");
D.FILE *fp;fp=fopen("file1","rb+");
18. 设int a=12,则执行完语句a+=a-=a*a后,a的值是( )。
A.552
B.264
C.144
D.-264
19. 阅读下列程序,则运行结果为( )。
#include "stdio.h"
fun()
{ static int x=5;
x++;
return x;\
A.5
B.6
C.7
D.8
20. 运行下面程序:
main()
{
int n1,n2;
scanf("%d",&n2);
while(n2!=0)
\ n1=n2%10;
n2=n2/10;
}
printf("%d",n1);
}若从键盘上输入298↙ ,则输出结果为( )。
A.2
B.29
C.8
D.0
21. C语言规定,在一个源程序中,main函数的位置( )。
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
22. 已知double *p[6]; 它的含义是( )。
A.p是指向double类型变量的指针
B.p是double类型数组
C.p是指针数组
D.p是数组指针
23. 以下叙述中错误的是( )。
A.在程序中凡是以"#"开始的语句行都是预处理命令行
B.预处理命令行的最后不能以分号表示结束
C.#define MAX 是合法的宏定义命令行
D.C程序对预处理命令行的处理是在程序执行的过程中进行的
24. 为了判断两个字符串s1和s2是否相等,应当使用( )。
A.if(s1==s2)
B.if(s1=s2)
C.if(strcpy(s1, s2))
D.if(strcmp(s1, s2)==0)
25. 在下列结论中,只有一个是正确的,它是( )。
A.递归函数中的形式参数是自动变量
B.递归函数中的形式参数是外部变量
C.递归函数中的形式参数是静态变量
D.递归函数中的形式参数可以根据需要自己定义存储类型
26. 以下不正确的定义语句是( )。
A.double x[5]={2.0,4.0,6.0,8.0,10.0;
B.int y[5]={0,1,3,5,7,9;
C.char c1[]={′1′,′2′,′3′,′4′,′5′;
D.char c2[]={′\x10′, ′xa′, ′\x8′;
27. 有以下程序段
int n=0,p;
do
{ scanf("%d",&p);n++;
}while(p!=123&&n<10);
此处do-while循环的结束条件是( )。
A.P的值不等于123或者n的值小于10
B.P的值等于123并且n的值大于等于10
C.P的值不等于123并且n的值小于10
D.P的值等于123或者n的值大于等于10
28. 以下叙述中错误的是( )。
A.改变函数形参的值,不会改变对应实参的值
B.函数可以返回地址值
C.可以给指针变量赋一个整数作为地址值
D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
29. 当变量c的值不为2、4、6时,值也为"真"的表达式是( )。
A.(c==2)︱︱(c==4)︱︱(c==6)
B.(c>=2&& c<=6)︱︱(c!=3)︱︱(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&& c<=6)&&(c%2!=1)
30. 运行程序:
#include
main()
{
int n='c';
switch(n++)
{ default: printf("error");break;
case 'a':case 'A':case 'b':case 'B':printf("good");break;
case 'c':case 'C':printf("pass");
case 'd':case 'D':printf("warn");
}
}则输出结果是( )。
A.good
B.pass
C.warn
D.passwarn
31. 设有 int x=8; 则表达式 (++x*1/3) 的值是( )。
A.2
B.3
C.2.6
D.0
32. 下面程序的输出结果是( )。
main()
{ int x=5,y=9,z=1,t;
t=(x>y||x>z);
printf("%d\n",t);
A.1
B.0
C.5
D.3
33. 有以下程序
#include
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++; break;
case 1:b++; break;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
printf("a=%d,b=%d\n",a,b);
}
A.a=1,b=0
B.a=2,b=2
C.a=1,b=1
D.a=2,b=1
34. 一个C程序的执行是从( )。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
35. 有以下程序
main()
{ int i,s=1;
for (i=1;i<50;i++)
if(!(i%5)&&!(i%3)) s+=i;
printf("%d\n",s);
A.409
B.277
C.1
D.91
二、 判断题 (共 15 道试题,共 30 分)
1. C语言的编译系统对宏命令的处理是和c程序中的其他语句同时进行编译的。
A.错误
B.正确
2. 设变量 a 为整型,f 是实型,i 是双精度型,则表达式10+'a'+i * f 值的数据类型不能确定为何类型。
A.错误
B.正确
3. (a=3)>(b=5) 是合法的关系表达式。
A.错误
B.正确
4. 预处理指令只能位于C源程序文件的首部。
A.错误
B.正确
5. 在c程序中,语句之间必须要用分号";"来分隔。
A.错误
B.正确
6. for循环是先执行循环体语句,后判断表达式。
A.错误
B.正确
7. 在C语言中char型数据在内存中的存储形式为ASCII码。
A.错误
B.正确
8. 声明语句可放在函数体中的任何位置。
A.错误
B.正确
9. 在C程序中,%是只能用于整数运算的运算符。
A.错误
B.正确
10. 设int a=12;则执行完语句a+=a-=a*a后,a的值为144。
A.错误
B.正确
11. 两个字符串所包含的字符个数相同时才能比较字符串大小。
A.错误
B.正确
12. %x是格式符的一种,它可以适用于任何一种类型的数据。
A.错误
B.正确
13. 若a和b类型相同,在执行了语句a=b后,b中的值将放入a中,b中的值不变。
A.错误
B.正确
14. 用typedef可以定义各种类型名,但不能用来定义变量。
A.错误
B.正确
15. C语言认为变量number和NuMbEr是相同的。
A.错误
B.正确
-
C语言数组元素要如何正确引用?
2021-12-10 20:05:53若有说明语句“int a[5],p=a;”为什么对数组元素正确引用是(p+2)? -
第80节 二维数组元素的引用
2021-05-25 22:10:35一、二维数组元素由其行、列下标决定 以float a[3][4];为例: 1.引用a[2][3]—行、列下标均是整数 2.引用a[2-1][2*2-1]—行、列下标可以是整型表达式 3.a[1][2]=3.14/2;—数组元素作为赋值表达式的左值 4.a[3][4]=15...一、二维数组元素由其行、列下标决定
以float a[3][4];为例:
1.引用a[2][3] — 行、列下标均是整数
2.引用a[2-1][2*2-1] — 行、列下标可以是整型表达式
3.a[1][2]=3.14/2; — 数组元素作为赋值表达式的左值
4.a[3][4]=15; — 错误!最后一个元素是a[2][3],“越界”
二、输入输出二维数组元素
1.二维数组行序优先输出
#include <stdio.h> int main() { int a[3][5]; //定义3行5列的二维数组 int i; //循环中用于记录行数变化 int j; //循环中用于记录列数变化 //嵌套循环方式输入数组元素 for (i = 0; i < 3; ++i) { for (j = 0; j < 5; ++j) { scanf_s("%d", &a[i][j]); } } //嵌套循环方式输出数组元素:常规操作 for (i = 0; i < 3; ++i) { for (j = 0; j < 5; ++j) { printf("%d\t", a[i][j]); } putchar('\n'); } } 运行结果: 85 78 99 96 88 76 89 75 97 74 64 92 90 73 56 85 78 99 96 88 76 89 75 97 74 64 92 90 73 56
2.二维数组列序优先输出
#include <stdio.h> int main() { int a[3][5]; int i; int j; for (i = 0; i < 3; ++i) { for (j = 0; j < 5; ++j) { scanf_s("%d", &a[i][j]); } } //循环嵌套方式输出数组元素:列序优先 for (i = 0; i < 5; ++i) { for (j = 0; j < 3; ++j) { printf("%d\t", a[j][i]); //注意i,j顺序 } putchar('\n'); } } 运行结果: 85 78 99 96 88 76 89 75 97 74 64 92 90 73 56 85 76 64 78 89 92 99 75 90 96 97 73 88 74 56
3.二维数组元素倒序输出
#include <stdio.h> int main() { int a[3][5]; int i; int j; for (i = 0; i < 3; ++i) { for (j = 0; j < 5; ++j) { scanf_s("%d", &a[i][j]); } } for (i = 2; i >=0; --i) { for (j = 4; j >=0; --j) { printf("%d\t", a[i][j]); } putchar('\n'); } } 运行结果: 85 78 99 96 88 76 89 75 97 74 64 92 90 73 56 56 73 90 92 64 74 97 75 89 76 88 96 99 78 85
三、实例:二维数组行列互换后存入另一个二维数组
#include <stdio.h> int main() { int a[2][3] ={{1,2,3},{4,5,6}}; int b[3][2]; int i; int j; printf("array a: \n"); for (i = 0; i < 2; ++i) { for (j = 0; j < 3; ++j) { printf("%d\t", a[i][j]); } putchar('\n'); } for (i = 0; i < 2; ++i) { for (j = 0; j < 3; ++j) { b[j][i] = a[i][j]; } } printf("array b: \n"); for (i = 0; i < 3; ++i) { for (j = 0; j < 2; ++j) { printf("%d\t", b[i][j]); } putchar('\n'); } } 运行结果: array a: 1 2 3 4 5 6 array b: 1 4 2 5 3 6
-
C语言引用一个数组元素的三种方式
2022-03-03 20:11:44其中a是数组名,p是指向数组元素的指针变量,其初值为p = a。 代码实现: #include<stdio.h> #include<stdlib.h> int main(void){ int a[10], i; int *p; p = a; // 数组首地址赋值给p for(i = 0; ...下标法,如a[i]形式,这是最简单的方式 了;
指针法,如 * (a+1) 或 *(p+1)。其中a是数组名,p是指向数组元素的指针变量,其初值为p = a。
代码实现:
#include<stdio.h> #include<stdlib.h> int main(void){ int a[10], i; int *p; p = a; // 数组首地址赋值给p for(i = 0; i < 10; i++){ a[i] = rand()% 100 +1; } printf("下标法访问数组: "); for(i = 0; i < 10; i++){ printf("%5d", a[i]); } printf("\n通过数组名计算数组元素地址,找出元素的地址:"); for(i = 0; i < 10; i++){ printf("%5d", *(a+i)); } printf("\n用指针变量指向数组元素: "); for(i = 0; i < 10; i++){ printf("%5d", *(p+i)); } return 0; }
实验截图:
-
五种引用数组元素的方法
2022-05-15 17:31:54用下标法直接引用数组元素 #include<stdio.h> int main() { int a[10]; int i; for (i = 0; i < 10; i++) { scanf ("%d", &a[i]); } for (i = 0; i < 10; i++) { printf("%d", a[i]); } }... -
c语言——数组指针和通过指针引用数组元素的方法总结
2021-05-22 00:46:071.数组指针:即指向数组的指针那么, 如何...2.通过指针引用数组元素的基本方法(1)小标法:a[i]。(2)指针法:* (a+i) 或 * (p+i) 或 p[i]。其中,a是数组名,p=a,即p指向数组a首元素的地址。问:为什么* (a+i) 和* ... -
(原创)一维数组-总第二篇[一维数组元素的引用]
2021-08-25 10:38:07本期博文我们来讲一维数组元素的引用. 上期博文我们讲的是一维数组声明,我们来回顾一下. 1、数组名的定名规则和变量名相同。 2、数组名后面的括号是方括号,方括号内是常量表达式。 3、常量表达式表示元素的个数... -
引用数组元素
2019-04-24 17:15:47引用一个数组元素可以有以下两种方法: (1)指针法。有 *(a+i), *(p+i) 两种表现形式,都是用间接访问的方法来引用数组元素。 (2)下标法。有a[i] 和 p[i] 两种形式。在编译时这两种形式也要处理成 *(a+i) 或 *(p+... -
引用数组元素的四种方式
2020-02-29 23:10:58//注意a++是不可的,因为a本来就代表了数组的首地址,a是不可改变的。 { printf ( "%d\n" , * p ) ; } printf ( "-----------------\n" ) ; for ( p = a , i = 0 ; i < 5 ; i ++ ) ... -
指针 二维数组元素引用
2020-12-30 16:30:24二维数组元素指针引用 指针与一维数组和二维数组 1.定义 2.关系 3.数组指针和指针数组的区别 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的... -
C语言:二维数组元素的引用
2017-09-12 17:34:08任务代码: (1) #include int main() { int a[3][5],i,j; printf("输入3*5数组:\n"); //输入 for(i=0;i;i++) { for(j=0;j;j++) { scanf("%d",&a[i][j]); } -
在C语言中,引用数组元素时,其数组下标的数据类型不允许是:
2021-05-21 06:29:21对国际价值量不起影响作用的因素有()。 A.劳动生产率 B.国际分工的广度和深度 C.劳动强度 D.自然条件计算:(1)(-3)+(-4)-(+11)-(-9);(2)-534-[-1.5-(4.5-434)];(3)(23-112-115)×(-60);(4)(-... -
二维数组元素的引用
2020-03-04 11:21:17下面代码中,三种引用 ```cpp #include <iostream> using namespace std; int main() { int b = 0; int a[3][4] = { {1,2,3,6},{2,5,6,76},{6,4,7,3} }; for (int i = 0; i < 3; i++) for (int j = 0... -
用指针引用二维数组元素 C语言 指针引用二维数组 为什么
2021-05-21 06:42:09用指针引用二维数组元素 C语言 指针引用二维数组 为什么用指针引用二维数组元素 C语言 指针引用二维数组 为什么相关问题:匿名网友:a 是数组首地址,等于 &a[0][0].*p 声明里是指针。语句里 *p 是 指针指向的值。... -
C语言数组-数组的引用
2021-09-15 15:52:53 -
C语言_数组_二维数组的定义和二维数组元素的引用
2020-09-14 18:02:54通过赋初值定义二维数组的大小 第一种: 例如:int a[][3] = {{1, 2, 3}, {4, 5}, {6}, {8}}; 注意: 对于二维数组,省略只能省略第一个方括号中的常量表达式 如上的初赋值语句等同于: int a[4][3] = {{1... -
在c语言中引用数组元素时,其数组下标的数据类型允许是什么
2021-08-08 00:10:20在c语言中引用数组元素时,其数组下标的数据类型允许是:整型常量或整型表达式。C语言规定只能逐个引用数组元素而不能一次引用整个数组,数据元素的表示形式为“数组名[下标]”,下标可以是整型常量... -
慕课编译原理(第十七章.数组元素引用的翻译)
2020-04-28 11:05:07数组元素引用的翻译0 目录17 语义分析和中间代码生成217.2 数组元素引用的翻译17.2.1 课堂重点17.2.2 测试与作业18 下一章 0 目录 17 语义分析和中间代码生成2 17.2 数组元素引用的翻译 17.2.1 课堂重点 ... -
通过指针引用数组元素
2017-05-23 17:18:36通过指针应用数组元素: (1)下标法,如a[i]形式; (2)指针法,如*(a+i)或*(p+i)。其中a是数组名,p是指向数组元素的指针变量,其初值p=a; 例如:有一个整数数组a,有10个元素,要求输出数组中的全部元素。 ... -
【单选题】在 C 语言中,引用数组元素时,其数组下标的数据类型不允许是 A. 整型常量 B. 整型表达式 C. 整形...
2021-05-22 16:22:26【单选题】在 C 语言中,引用数组元素时,其数组下标的数据类型不允许是A. 整型常量 B. 整型表达式 C. 整形符号常量 D. 整型变量更多相关问题[单选] 焖饭和蒸饭哪个更节省燃气?()[多选] 影响装置负荷率计算结果的因素... -
C语言中只能逐个引用数组元素而不能一次引用整个数组.
2021-05-23 04:55:09语言中引用元素用整的方法p,只能逐个组的输相应以及坐标出点,包含点的x和坐标坐标其中。地面太滑,数组天回南,办法么好有什,春天来了。班的比是5比和乙甲班人数,次引班调班的相等后则有几甲班求原个人从乙入4人... -
[教程] Matlab中矩阵、向量及数组元素的引用方法和讨论
2021-04-18 11:23:50matlab beginner,经常会遇到这样的疑问,Matlab矩阵元素引用真灵活,我都看花了眼了!还有数组、矩阵、向量、行列式有什么区别呢?既然有需求,就有市场,那下面我们详细分析下,期望对初学者的有些启示作用。先... -
C语言-数组的定义和引用
2021-12-10 10:48:29引用方式:二维数组二维数组引用表现形式:引用四种方法对二维数组初始化2.一维数组的应用(如排序),二维数组的应用(如矩阵运算)3.数组作函数参数4.字符数组的定义、初始化和输入输出方法5.字符串与字符串... -
不能建立引用数组,数组中的元素不能是引用
2017-11-12 14:47:211.不能建立引用数组,但是可以建立数组的引用。 c++中,引用可以说只是某个变量的别名,所谓别名,是和指针类型区分开的,指针类型可以指向某个变量,而且指针类型本身也是一个变量,而引用本身实际上不是一个变量... -
如何引用数组呢?
2020-12-06 11:53:59(指针=数组名,引用第一个元素;指针<(数组名+数组长度);指针++) 代码如下: #include <stdio.h> // 指 针 法 int main() { int a[10]; int *p,i; printf("please enter 10 integer numbers:"); for -
C语言数组引用
2018-05-01 14:05:07一维数组元素的引用:数组元素的一般形式为:数组名[下标](下标从0开始)printf("%d\n",arr[5])数组名arr通常情况下代表数组元素的首地址printf("%d\n",arr); //输出为1数组名arr在两种情况... -
C语言二维数组及指针引用
2022-04-11 15:40:58用指针引用二维数组元素 C语言二维数组及指针引用 1.二维数组的定义与表示 二维数组是形如: 表示一个int类型,三行四列的数组 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12} 表示一个char类型,两行三列的数组 char s... -
C语言——数组指针和通过指针引用数组元素的方法总结
2016-05-11 19:25:031.数组指针:即指向数组的指针 ...2.通过指针引用数组元素的基本方法 (1)小标法:a[i]。 (2)指针法:* (a+i) 或 * (p+i) 或 p[i]。其中,a是数组名,p=a,p是指向数组元素的指针变量。 问:为什么* -
C语言之数组下标引用与间接引用
2021-05-23 01:26:16数组元素的访问方式有下标引用和间接访问两种.除了优先级之外, 下标引用和间接访问完全相同. arrayname[subscript] = *(arrayname + (subscript))例如:int arrayname[10];int *arrayptr = arrayname + 2;arrayptr = ...