欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: C語言問題記錄 [打印本頁]

作者: heise    時間: 2014-8-18 00:25
標題: C語言問題記錄
                        1: 請問下面的代碼有什么問題?#include
#include
void p_malloc( void *p, int size)
{
    p = malloc(size);
}
int main ( void )
{
    char * p = NULL;
    p_malloc(p,100);
    //使用p
    ...
}

1:void *, void**,void **...:都是一種變量類型;
2:在調(diào)用函數(shù)時,被調(diào)用函數(shù)的形參是主調(diào)函數(shù)的調(diào)用該函數(shù)時形參列表的拷貝(簡單的賦值),且被調(diào)用函數(shù)的形參都是臨時變量,作用域在本函數(shù)。
    fun(...)            p_malloc(void *C, intD)   
    {                  {
      void *A=NULL;
      int B = 100;  ===>   
      p_malloc(A,B);         
    }                   }
    C = NULL; D =5;
3:主調(diào)函數(shù)若想通過子函數(shù)操作一個變量A,須將A的地址傳遞給被調(diào)函數(shù),被調(diào)函數(shù)通過該變量的地址來操作該變量,否則無法操作。
void p_malloc( void **p, intsize)
{
   *p = malloc(size);
}

int main ( void)
{
   char * p = NULL;
   p_malloc( (void**)&p,100);
   //使用p
   ...
}  
char *p; 在被調(diào)函數(shù)中需要通過p的地址(&p: char**)來操作p;
p_mallocr(p,5);只是將p的值賦給了被調(diào)函數(shù),被調(diào)用函數(shù)操作的是自己的臨時變量無法操作p;
總結(jié):
1:實參與形參的作用域為各種所在的函數(shù);實參傳遞到形參,只是同類型變量進行一對一的數(shù)值拷貝。
2:相互獨立的函數(shù),擁有各自獨立的私有數(shù)據(jù);在本函數(shù)沒有退出前(它所擁有的私有數(shù)據(jù)有效),其他的函數(shù)只能通過地址(指針)才能寫本函數(shù)的私有數(shù)據(jù)空間。
char 變量的指針變量:char *
char*變量的指針變量:char * *
void*變量的指針變量:void **







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1