zoukankan      html  css  js  c++  java
  • 参数是指针,传递指针变量,最后函数总分配的内存丢了

     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

    这样才是正确的代码

  • 相关阅读:
    struts2笔记之if控制标签
    struts2标签之iterator遍历集合
    struts2获得session和request
    数据库操作语句
    weixinapp api
    struts2笔记之tree标签输出树
    struts2笔记之整合Tiles
    C++中的符号
    JSP布局相关使用
    5.Github仓库
  • 原文地址:https://www.cnblogs.com/cplinux/p/5376606.html
Copyright © 2011-2022 走看看