|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <stdlib.h>
- #include <malloc.h>
- #include<stddef.h>
- #include<stdbool.h>
- /*定义一个struct Arr的数据类型,没有分配空间*/
- struct Arr
- {
- int* pBase; /*存储的数组第一个元素的地址*/
- int len;/*数组所能容纳的最大元素的个数*/
- int cnt;/*当前数组的有效个数*/
- };
- void init_arr(struct Arr *array,int length); /*初始化数组*/
- void show_arr(struct Arr* pArr);/*输出数组元素*/
- int main()
- {
- struct Arr arr; /*初始化结构体变量,但是arr并不是有效的,内存为垃圾数字,需要init_arr初始化*/
- init_arr(&arr,6);
- show_arr(&arr);
- return 0;
- }
- void init_arr(struct Arr *array,int length)
- {
- array->pBase = (int*)malloc(sizeof(int)*length);
- if (NULL == array->pBase)
- {
- printf("动态内存分配失败!\n");
- exit(-1);/*终止整个程序*/
- }
- else
- {
- array->len = length;
- array->cnt = 0;
- }
- }
- void show_arr(struct Arr* pArr)
- {
- for(int i=0;i<pArr->len;i++)
- {
- *(pArr->pBase+i) = i;
- }
- for(int i=0;i<pArr->len;i++)
- {
- printf("%d\n",*(pArr->pBase+i));
- }
- }
复制代码 |
|