要知道这个问题很重的一个问题就是,指针的作用是什么,知道这个了你就知道为什么要定义指针了。
很简单的道理,如果你需要的是一个独立(或者说是一个孤立的值)的时候,你就不需要定义成指针。而当你的结构中包含了一系列仿核辩的有序的数据或者是一系列数据备缺对的时候就将其定义成一个指针。
原因在于,定义成一个指针的话方便你往下读取氏贺后面的数据,通过指针偏移就可以实现,或者你的数据分成了指针部分和数据部分的时候也需要定义成一个指针,对于这个 你学过数据结构的话就很好理解了。
祝你学习进步!
有时候需要将不同类型的数据组合成一个有机的整体,这些组合在一个整体中的数据是互相联系的,就用到结构体。
每个成员名前的类型标识符可以为已经定义了的任意类型,当然可以是结构体类型标握腔识符,即结构体成员也可以是另一个结构体变量。
struct date
{
int year;
int month;
int day;
};
struct student
{ int num;
char name[20];
char sex;
struct date birthday;
char addr[30];
};
此处只是构造出一个新的类型,并没有定搭皮肆义该类型的变量,因此在内存中并没有开辟任知轿何存储空间;
成员也可以是指向本结构体类型的指针变量;
struct student
{ int num;
char name[20];
float score;
struct student *next;
};
bnmyni11 说得很好了,你要问具体应用的话,参考一下:
从你昌穗举的例子,估计你是遇到没迅厅线性表了
在线性表里,一个用来确定线性表的大小int a; ----- int size;
一个指着枯隐表头: int *b -----int *elem;
可以有 int n 或 int *p 表示当前位置;
这些对初学者来说,有个大概的了解就行了。
直接定义的变量就是它本身。
指针变量多用于操作其它数据对象。
***
int a;
int *b;
***
变量a是用来存放实际数据的,例如你可以对变量a赋值(a=5 or a=o5 and so on)
而指针变量b是扮孙用来储存整型的地址的,你可以将b用来取得整型变量的地址,或者对整型变量地址的引用,你可以这么操作b(b=&a)
总之a好比是可以住人的凳陪房间,而b是来储存房间号的厅粗链
按你自己的需要,定汪启咐义
定义为int 为整型变量 可以赋整数 如1,522,336等
定义为int * 为指向整型变量的指针,可以赋int型的地址 如 int A ;int *a=&A;困纯旁磨