学习了指针之后你就可以学习动态数组了。
你可以尝试用动态数组解决下面这个问题。
编写程序,输入整数n,动态分配保存n个整数的存储器,然后输入n个整数保存到存储器中。最后,将这n个整数从小到大输出。
例如:
输入如下:
10回车
10 9 8 7 6 5 4 3 2 1回车
则输出
1,2,3,4,5,6,7,8,9,10
指针另外一个重要的应用就是链表。
学习链表首先你需要知道结构体。
按照如下要求尝试写一个链表。
按照下面形式编写你的代码:
struct node
{
int data;
struct node *next;
};
int main(int data[],int n)
{
//内容
};
然后以数组data里面的数据生成带头结点的单链表,头指针header作为main函数的返回值,需要将头指针转换为int返回。
定义头指针:struct node * header;
那么main函数返回时需要return (int)header;
header指针指向的单链表数据和data里面数据顺序一致。
比如data存放的数据是1 2 3,则n=3,且单链表header所指的数据结点的数据依次为1,2,3。
如果出现错误,则输出"error",并返回NULL。
头结点定义如下:
struct node
{
int data;
struct node *next;
};