精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

c語言函數(shù)用指針傳遞參數(shù)問題

發(fā)布時間:2011-08-29 共3頁

  例子:某前輩寫的,很詳細~~~

  int   a = 0;   全局初始化區(qū)

  char   *p1;   全局未初始化區(qū)

  main()

  {

  int   b;   //棧

  char   s[]   =   "abc";   //棧

  char   *p2;   //棧

  char   *p3   =   "123456";   //123456\0在常量區(qū),p3在棧上。

  static   int   c   =0;   //全局(靜態(tài))初始化區(qū)

  p1   =   (char   *)malloc(10);

  p2   =   (char   *)malloc(20);    //分配得來得10和20字節(jié)的區(qū)域就在堆區(qū)。

  strcpy(p1,   "123456");   //123456\0放在常量區(qū),編譯器可能會將它與p3所指向的"123456"優(yōu)化成一個地方。

  //在strcpy執(zhí)行的時候,會為生成一個p1的副本 char* _p1,在棧中

  }

  也就是說&s[0]、&b、&*p2、&*p3是不能用return來放回給調(diào)用者的,p1,p2,p3的值,即,靜態(tài)區(qū)內(nèi)存和堆區(qū)去內(nèi)存的地址都是可以返回的。

  編輯特別推薦:

  類成員函數(shù)的重載、覆蓋和隱藏的區(qū)別

  用C寫最簡單的Windows窗口程序:WINAPIHelloWorld

  高質(zhì)量程序設(shè)計指南:strcpy的實現(xiàn)

  重解幾道華為經(jīng)典C語言面試題

  應(yīng)該怎樣學(xué)習(xí)C語言?

百分百考試網(wǎng) 考試寶典

立即免費試用