当前位置:首页 > C/C++ > 正文内容

c和c++动态数组的实现

canca14年前 (2012-04-05)C/C++447
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdlib.h>
  4. int *ywshuzumalloc(int n) //一维数组分配
  5. {
  6. int *a;
  7. a=(int *)malloc(sizeof(int)*n);
  8. return a;
  9. }
  10. int **ewshuzumalloc(int m,int n) //二维数组分配
  11. {
  12. int **a;
  13. int i;
  14. a=(int **)malloc(m*sizeof(int *));
  15. for (i=0;i<m;i++)
  16. a=(int *)malloc(n*sizeof(int));
  17. return a;
  18. }
  19. int ***swshuzumalloc(int m,int n,int o) //三维数组分配
  20. {
  21. int ***a;
  22. int i,j;
  23. a=(int ***)malloc(m*sizeof(int **));
  24. for(i=0;i<m;i++)
  25. a=(int **)malloc(n*sizeof(int *));
  26. for(i=0;i<m;i++)
  27. {
  28. for(j=0;j<n;j++)
  29. a[j]=(int *)malloc(o*sizeof(int));
  30. }
  31. return a;
  32. }
  33. void main()
  34. {
  35. int *a;
  36. int **b;
  37. int ***c;
  38. int i,j,k,m,n,o;
  39. int lenght;
  40. printf("请输入动态分配一维数组的个数:\n");
  41. scanf("%d",&n);
  42. a=ywshuzumalloc(n);
  43. for(i=0;i<n;i++)
  44. {
  45. a=i+1;
  46. printf("%d ",a);
  47. }
  48. printf("\n");
  49. lenght=n;
  50. printf("该数组的长度是: %d",lenght);
  51. printf("\n");
  52. printf("请输入动态分配二维数组的个数:\n");
  53. scanf("%d %d",&m,&n);
  54. b=ewshuzumalloc(m,n);
  55. for(i=0;i<m;i++)
  56. {
  57. for(j=0;j<n;j++)
  58. {
  59. b[j]=(i+1)*10+j+1;
  60. printf("%d ",b[j]);
  61. }
  62. printf("\n");
  63. }
  64. printf("\n");
  65. lenght=m*n;
  66. printf("该数组的长度是: %d",lenght);
  67. printf("\n");
  68. printf("请输入动态分配三维数组的个数:\n");
  69. scanf("%d %d %d",&m,&n,&o);
  70. c=swshuzumalloc(m,n,o);
  71. for(i=0;i<m;i++)
  72. {
  73. for(j=0;j<n;j++)
  74. {
  75. for(k=0;k{
  76. c[j][k]=(i+1)*100+(j+1)*10+k+1;
  77. printf("%d ",c[j][k]);
  78. }
  79. printf("\n");
  80. }
  81. printf("\n");
  82. }
  83. printf("\n");
  84. lenght=m*n*o;
  85. printf("该数组的长度是: %d",lenght);
  86. printf("\n");

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/167.html

标签: C/C++
分享给朋友:
返回列表

上一篇:C printf() 详解——printf('%08x',number);

没有最新的文章了...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。