最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

函數(shù)外初始化與函數(shù)內初始化詳細解析

 更新時間:2013年09月30日 09:11:37   作者:  
函數(shù)內初始化:bool FillStr(char *&szDst, int nSize);第一個參數(shù)中的&一定不能少,這是因為在函數(shù)外部我們只聲明了這個指針,具體這個指針指向內存中的哪個地址我們并不知道,所以&是為了說明傳遞的是這個指針的引用,那么在函數(shù)內初始化后這個指針的地址也就是外面指針的地址了

關于函數(shù)外初始化與函數(shù)內初始化之前一直分的不是太清,也不太在意。昨天終于出現(xiàn)了這方面的問題,所以決定好好看下,以下是這次的一些收獲,先看測試代碼:

復制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
using namespace std;
bool FillStr(char *&szDst, int nSize)
{
 bool bRet = false;
 if (nSize > 0)
 {
  szDst = (char*)malloc(sizeof(char) * nSize);
  memset(szDst, 0, sizeof(char) * nSize);
  strcpy(szDst, "hello, world");
  bRet = true;
 }
 return bRet;
}
bool FillStr(char *szDst)
{
 bool bRet = false;
 if (szDst)
 {
  strcpy(szDst, "hello, 5.1");

  bRet = true;
 }
 return bRet;
}
int _tmain(int argc, _TCHAR* argv[])
{
 char* szWord = NULL;
 // 第一種
 //FillStr(szWord, 64);
 // 第二種
 szWord = (char*)malloc(sizeof(char) * 64);
 memset(szWord, 0, sizeof(char) * 64);
 FillStr(szWord);
 printf("%s/n", szWord);
 if (szWord)
 {
  free(szWord);
  szWord = NULL;
 }
 getchar();
 return 0;
}

1.函數(shù)內初始化:bool FillStr(char *&szDst, int nSize);

第一個參數(shù)中的&一定不能少,這是因為在函數(shù)外部我們只聲明了這個指針,具體這個指針指向內存中的哪個地址我們并不知道,所以&是為了說明傳遞的是這個指針的引用,那么在函數(shù)內初始化后這個指針的地址也就是外面指針的地址了。

第二個參數(shù)是我們要分配的字符個數(shù)。

2.函數(shù)外初始化:bool FillStr(char *szDst);

這個函數(shù)的參數(shù)加不加&都可以,因為傳進來的時候已經初始化了,已經有了一個確切的地址,如果不加&的話傳進來的就是原來地址的拷貝,如果加&的話就是同一個指針。所以不管怎樣它們傳進來的都是一樣的地址,對其操作都是對同一塊內存的操作。

雖然上面兩種方法都可以達到相同的效果,但是我認為還是第二種方式好些,這樣符合誰分配誰釋放的原則。

相關文章

  • 深入解析unsigned int 和 int

    深入解析unsigned int 和 int

    以下是對unsigned int和int進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • 基于QT實現(xiàn)顯示OpenCV讀取的圖片

    基于QT實現(xiàn)顯示OpenCV讀取的圖片

    OpenCV自帶了一部分常用的GUI功能,但是更多的圖像處理功能需要其他GUI框架來輔助實現(xiàn),本文將通過QT來顯示OpenCV讀取的圖片,需要的可以參考一下
    2022-11-11
  • C語言實現(xiàn)猜數(shù)字大小的游戲

    C語言實現(xiàn)猜數(shù)字大小的游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)猜數(shù)字大小的游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C語言編程實例之輸出指定圖形問題

    C語言編程實例之輸出指定圖形問題

    這篇文章主要介紹了C語言編程實例之輸出指定圖形問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C++實現(xiàn)學生管理系統(tǒng)

    C++實現(xiàn)學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 解析c語言中"函數(shù)調用中缺少哨兵"的情況分析

    解析c語言中"函數(shù)調用中缺少哨兵"的情況分析

    本篇文章是對c語言中"函數(shù)調用中缺少哨兵"的情況進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++詳細分析講解函數(shù)參數(shù)的擴展

    C++詳細分析講解函數(shù)參數(shù)的擴展

    在C++中,定義函數(shù)時可以給形參指定一個默認的值,這樣調用函數(shù)時如果沒有給這個形參賦值(沒有對應的實參),那么就使用這個默認的值。也就是說,調用函數(shù)時可以省略有默認值的參數(shù)
    2022-04-04
  • C++11右值引用和std::move語句實例解析(推薦)

    C++11右值引用和std::move語句實例解析(推薦)

    右值引用(及其支持的Move語意和完美轉發(fā))是C++0x將要加入的最重大語言特性之一。這篇文章主要介紹了C++11右值引用和std::move語句實例解析,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • C++全排列中遞歸交換法實例詳解

    C++全排列中遞歸交換法實例詳解

    在本篇文章里小編給各位整理的是關于C++全排列中遞歸交換法實例內容,有興趣的朋友們可以學習下。
    2020-02-02
  • C語言中的冒泡排序問題

    C語言中的冒泡排序問題

    這篇文章主要介紹了C語言中的冒泡排序問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

柳江县| 读书| 孝义市| 陇川县| 日土县| 靖安县| 邹平县| 长武县| 通州市| 吉林省| 来安县| 福鼎市| 博湖县| 高淳县| 扬中市| 辰溪县| 威远县| 丰顺县| 绵竹市| 鹤壁市| 定边县| 安庆市| 万安县| 东阳市| 息烽县| 邯郸县| 裕民县| 汉阴县| 房产| 苏尼特右旗| 博野县| 贵南县| 冷水江市| 汨罗市| 图们市| 大埔县| 普定县| 福清市| 岱山县| 东莞市| 惠来县|