C语言高手请进……

2025-01-05 06:16:54
推荐回答(4个)
回答1:

第一题,因为数组的地址跟指针不一样,数组是固定的,企图改变数组地址的动作都会被禁止。用a+1就可以返回a[1]的地址。
第二题,形参问题,一维形参可以如A项那样使用,而二维的必须写全维数,如3行3列的数组在调用时必须写为:a[3][3]
第三题,typedef是一个定义的关键字,就好象define一样,这句话就是把一个结构定义为student,在你后面的程序中,student就成为了一个变量类型,你可以如同int一般使用它,比如 student a;

回答2:

NO.1
只有在函数调用时,数组名才能退化成指针.
NO.2
二维数组声明的方法,必须声明出列数,所以2要是在第二个[]里,就是对的了
NO.3
struct 定义了一个ex结构
typedef 是把 这个ex结构定义为一个student变量类型.使student成为一个自定义数据类型.
以后在程序里声明
student me;
就是相当于me是一个ex类型的结构体

回答3:

1.数组名是常量,不能做++操作
2.多维数组必须指定除第一维外的其它维数,C要写成int [][2],A本身就是一维,所以不用指定维数。

3
typedef struct ex
{…………}
student;
把{}里面的内容不管,struct ex是一种结构类型,typedef将student定义成struct ex 的别名。

回答4:

to sunshine66,
typedef跟define可是差别很大啊