C内存

来源:互联网 发布:小米网络助手apk通用版 编辑:程序博客网 时间:2024/06/02 10:28

这节课简单讲了C对内存的使用, 分配.

练习:

实现一个“可变长二维数组”,这个二维数组的行数可由输入决定,每行的元素个数仍可由输入决定。每个数组元素值都是1.
执行结果如下:
请输入行数:
5
请输入第1行的元素个数:
20
请输入第2行的元素个数:
34
请输入第3行的元素个数:
17
请输入第4行的元素个数:
9
请输入第5行的元素个数:
25
11111111111111111111
1111111111111111111111111111111111
11111111111111111
111111111
1111111111111111111111111
Press any key to continue

 

#include <stdio.h>#include <stdlib.h>void main(){int line, row;int ** arr;int i,j;printf("Input lines:\n");scanf("%d",&line);arr = (int **)malloc( sizeof(int)*(line) );for( i = 0 ; i < line ; i ++){printf("Input row of line%d:",i+1);scanf("%d",&row);*(arr+i) = (int *)malloc( sizeof(int)*(row) );for( j = 0 ; j < row ; j ++){*(*(arr+i)+j) = 1;printf("%d",*(*(arr+i)+j));}printf("\n");}for( i = 0 ; i < line ; i ++){free( *(arr+i) );*(arr+i) = NULL;}free(arr);arr = NULL;}


 

 

 

原创粉丝点击