傻大方


首页 > 知识库 > >

华中科技大学|华中科技大学光电子学院C语言第七章( 二 )


按关键词阅读: 光电子 华中科技大学 第七 语言 学院


1) 下标表示: 元素的地址表示: 数组名a被看成由元素a0,a i 。

10、 的一维数组,但 a0又可看成包含3个元素a00,a01,a02,一维数 组 a1又可看成包含3个元素a10,a11,a12,一维数组 即,根据C语言规定: 数组名代表数组的首地址:因此. a 代表二维数组的首址,(即第0行的首址), a+1:代表第一行的首址 同理: a0为另一个一维数组的首址(即第0行第0列元素的首址) 即:a0是 a1+2是 int *p;
for (=a0;
pa0+12;
p+ ) if ( ( p-a0)%4=0) printf (“n” );
/*一行输出4个数据*/ printf ( “%5d”, *p ),3) 指向数组指针变量的定义 如: int (*pa) 。

11、3, a23;
/* 指针变量pa指向3个元素的数组*/ pa=a;
/*使pa指向数组a的第0行;
*/ 注: int ( *pa )3 与 int *pa3不同, 后者为由三个指针组 成的指针数组. 例: 上例: main() int a34= 1,2,3,4, 5,6,7,8, 9,10,11,12 ;
int (*p)4, j;
for (p=a;
pa+3;
p+ ) for ( j=0;
j4;
j+ ) printf ( “%5d”, *(*p+j ) );
printf ( “n” );
,2.多维数组的指针表示 三维及以上的数组用指针表示比较复杂 , 一般采用下 标表示元素法比较好 。

12、; 3.指向二维数组的指针变量的使用 1) 指针变量指向二维数组的某个元素 定义时: *指针变量=,int a23,*p=a;
(或*p=,for(i=0;
i2;
i+) printf( “”) for(j=0;
j3;
j+) p= 2) 指针变量指向二维数组的首地址 定义时: *指针变量=二维数组名 *指针变量=(或p=,定义时: (*指针变量)m=二维数组名 (m为列长) 引用时: 指针变量=二维数组名 数组元素的地址引用: *(指针变量+行下标)+列下标 数组元素的内容引用: *(*(指针变量+行下标)+列下标) 例:上例: main( ) int a23,(*p)3=a;
int i,j;


13、for (I=0;
i2;
i+) for(j=0;
j3;
j+) scanf( “%d”, *(p+i)+j );
或: *(a+i)+j;
for(i=0;
i2;
i+) printf( “”) for(j=0;
j3;
j+) printf( “%5d”, *(*(p+i)+j) );
或: *(*(a+i)+j);
,三指针数组和命令行处理 由指针变量组成的数组 1. 指针数组说明的一般形式: 类型标识符*数组名常量表达式; 例:int *a4,注: 1.*a4是指针数组 而 (*p)4是指向数组的指针变量 2.指针数组主要用于字符串数组的处理和命令行参 数的处理因为字符串数组中每一个字符串不等长, 。

14、例: 输入一个表示月份的整数,输出该月份的名字 main() int n;
char *month= “Illegal month “, “Jan.”, “Feb.”, “March”, “April”,”May”,”June”, ”July”,“Aug.”,”Sep.”,“Oct.”,”Nov.”, ”Dec.” ;
printf ( “Input number of month:n : “); scanf ( “%d”,2.命令行参数的处理 命令行带有任选变元或参数称为命令行参数. 如: cecho hello world /*操作系统下的命令行*/ 发布命令行的时刻: 在操作系统下执行时 。

15、 如何将命令的参数接收到程序中? 方法是: 通过函数main( argc, argv ) 中argc, argv传送给 程序. 其中: argc: 计算命令行中参数的个数 argv: 指针数组:每个元素是指向包含这些参数(字 符串)的指针,如: cecho hello world argc=3 argv0=“echo” argv1=“hello” argv2=“world,参数argc, argv的定义: main(argc, argv) int argc;
char *argv ;
/*或char *argv ;
) . 注: 1.argc和argv位置不能颠倒 2.argc和argv的初始 。

16、化,由键入的命令(包括命令字)的个 数决定,例: 编一命令行执行程序: cecho what day is today ? 输出命令行参数:what day is taday ? main( argc, argv ) int argc;
char *argv;
while (- argc 0 ) printf ( “%s%c”, *+argv, (argc1)? :n );
编译echo.c生成echo.exe 文件,在dos状态下执行 cecho what day is today ? 显示: what day is today ? 它告诉我们: 可在操作系统状态下,利用程序,接收字符 串, 。

17、然后处理这些串. 例如: 输入: cday 2 2001 /*设计程序day.c,接收月份, 年份,显示该月的天数*,四: 指向指针的指针变量 定义形式: 类型标识符 *标识符 例: char *p,相当于*(*p) 其中: *p是指针变量的说明,它说明了一个指向字符型数 据的指针变量 前*( )星号表示指针变量p是指向一个字符型指针 变量的指针变量(指针变量的嵌套定义,注: 访问内容时,需要二次间址操作: 用*p表示: *p是间 接指向对象的地址,而*p是p间接指向的对象的值,例: #include main int i, a5, *num5, *p;
printf (“input inte 。

18、ger 5:n “ );
for ( i=0;
i5;
I+ ) numi=,输入:integer 5: 输出,指针与函数 一. 指针变量作为函数参数 1.指针变量作为函数形参可改变对应实参的值(传地址,如:main() int a=5;
i=3, out;
out=changer(,注: 除数组名外,任何以 地址传递的实参变 量必须在变量名前 加上 else +*p2;
main() int i,j, sum1=0, sum2=0;
for ( i=0;


来源:(未知)

【学习资料】网址:/a/2021/0207/0021331018.html

标题:华中科技大学|华中科技大学光电子学院C语言第七章( 二 )


上一篇:半月板|半月板损伤的治疗

下一篇:钢筋混凝土|钢筋混凝土检查井施工组织设计方案