C语言练习题——动态数组
生活随笔
收集整理的這篇文章主要介紹了
C语言练习题——动态数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當數組長度需要由用戶指定時,需要用到動態數組。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);//把動態申請的內存分配給pfor(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; }總結
以上是生活随笔為你收集整理的C语言练习题——动态数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2017 快捷键
- 下一篇: 网络工具中的瑞士军刀——netcat工具