• 参数是指针,传递指针变量,最后函数总分配的内存丢了


     1 void allcMem(int *a, int n){
     2     a = (int*)malloc(n*sizeof(int));
     3     for (int i = 0; i < n; i++){
     4         a[i] = 0;
     5     }//end for
     6 }//end fucntion allcMem
     7 
     8 int main(int argc, char** argv){
     9     int *pi = NULL;
    10     int arr[] = { 1, 1, 1, 1, 1, 1, 1 };
    11     pi = arr;
    12     allcMem(pi,5);
    13     for (int i = 0; i < 7; i++){
    14         printf("%d  ",pi[i]);
    15     }//end for
    16     printf("\n");
    17     system("pause");
    18     return 0;
    19 }//end main

    上面的代码最后的结果是 输出七个1,而不是5个0

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #define N 10
     4 
     5 void allcMem(int **a, int n){
     6     *a = (int*)malloc(n*sizeof(int));
     7     for (int i = 0; i < n; i++){
     8         (*a)[i] = 0;
     9     }//end for
    10 }//end fucntion allcMem
    11 
    12 
    13 
    14 int main(int argc, char** argv){
    15     int *pi = NULL;
    16     int arr[] = { 1, 1, 1, 1, 1, 1, 1 };
    17     pi = arr;
    18     allcMem(&pi,5);
    19     for (int i = 0; i < 5; i++){
    20         printf("%d  ",pi[i]);
    21     }//end for
    22     printf("\n");
    23     system("pause");
    24     return 0;
    25 }//end main

    这样才是正确的代码

  • 相关阅读:
    webpack学习(一)—— 入门
    AMD 规范
    CommonJS 规范
    webpack 故障处理
    webpack 开发环境
    webpack 插件
    webpack 配置文件
    webpack 使用
    webpack Loader
    webpack常用的插件安装命令
  • 原文地址:https://www.cnblogs.com/cplinux/p/5376606.html
Copyright © 2020-2023  润新知