C语言常见问题

来源:互联网 发布:mac软件推荐 编辑:程序博客网 时间:2024/06/04 01:08
  1. struct定义问题:
typedef struct Student{}Student,*StudentP;

后面跟了一个Student和*Student。它的意思是typedef表示重新声明了两个类型,分别是Student和指针类型的Student。等价于:

typedef struct Student Student;typdef struct Student *Student;
  1. int数组初始化问题
    数组在初始化分为两种情况,一种是静态分配,一种是动态分配。
int a[length];//静态分配int *b = new int[length];//动态分配

第一行代码因为是静态分配的,它必须要在编译的时候能够确定这个值的大小,所以length必须是一个常量。

第二行代码就没有这么多讲究了,length可以是一个变量,动态的为数组创建任意大小的内存。
3. int[]返回值问题