C语言练习题——动态数组
来源:互联网 发布:淘宝网卖家申请 编辑:程序博客网 时间:2024/06/08 09:29
当数组长度需要由用户指定时,需要用到动态数组。malloc()函数可以在堆中申请一块内存,字节数由程序员指定。申请来的内存使用完之后需要用free()函数手动释放。
下面给出创建动态一维数组的例子
#include<malloc.h>#include<stdio.h>int main(){ int* p = NULL; int len; int i; printf("请输入数组的长度: \n"); scanf("%d",&len); p = (int*)malloc(sizeof(int) * len); for(i=0; i<len; i++) p[i] = i; for(i=0; i<len; i++) printf("p[%d] = %d\n",i,p[i]); free(p); // 释放申请的内存 return 0;}
下面给出创建动态二维数组的例子
#include<malloc.h>#include<stdio.h>int main(){ int** p = NULL;//创建一个二级指针,他存放的元素类型是一级指针 int n,m;//n行m列 int i,j;//行、列控制变量 printf("Please enter n,m\n"); scanf("%d %d",&n,&m); p = (int**)malloc(sizeof(int*) * n);//把动态申请的内存分配给p for(i=0; i<n; i++)//遍历n行 *(p+i) = (int*)malloc(sizeof(int) * m);//每行创建一个长度为m的一维数组 for(i=0; i<n; i++)//赋值 for(j=0; j<m; j++) p[i][j] = i * j; for(i=0; i<n; i++)//输出 { for(j=0; j<m; j++) printf("%5d",p[i][j]); printf("\n\n"); } free(p);//释放申请的内存 return 0;}
阅读全文
0 0
- C语言练习题——动态数组
- C语言学习——动态数组
- C语言——单链表排序练习题
- C语言——单链表创建练习题
- C语言——归并排序练习题
- C语言基础——经典练习题
- c语言练习题——基础1
- c语言练习题——基础2
- c语言练习题——基础3
- c语言练习题——基础4
- c语言练习题——字符串训练
- Objective-c语言_数组练习题1
- Objective-c语言_数组练习题2:
- Objective-C语言_数组练习题
- C语言入门第十二篇,数组练习题
- C语言动态数组
- c语言 动态数组
- C语言动态数组
- sqlite一些常见问题
- MongoDB干货篇之查询数据
- JAVA 反射机制
- 1009:Tom数
- spring mvc 控制层validator(校验)中文乱码
- C语言练习题——动态数组
- 把本地jar导入maven库
- 分布式程序设计早知道-关于分布式程序设计常见问题分析
- 引用、常指针、常引用、指针常量、引用常量
- itween移动类型
- Oracle 官方学习文档整理——OCP & OCM
- 【Python】Python3 字典
- eclips导入项目jdk版本不一样解决方案
- mysql 密码破解