亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

深入理解雙指針的兩種用法

2020-01-26 16:04:33
字體:
來源:轉載
供稿:網友
好久沒有用過C/C++的二級指針了,總覺的它就是指針的指針,沒什么大不了的,但是今天看到一道面試題,感覺自己對二級指針的理解還是不夠深刻。于是,從網上找資料,學習了一番……
題目是這樣的:
復制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
using namespace std;
void GetMemory(char *p, int num)
{
 p = (char *)malloc(sizeof(char) * num);
 //p = new char[num];  //C++當中
}
int _tmain(int argc, _TCHAR* argv[])
{
         char *str = NULL;
 GetMeory(str, 100);
 strcpy(str,"Hello");
 cout << str << endl;
 return 0;
}

問:程序能否達到目的:在GetMemory()中為main函數中的開辟空間,并將str指向這段空間?
分析:str是一個指針,指向NULL,形參p也是一個指針,初始也指向NULL,在GetMemory函數中,這個指針又指向了新開辟的空間。但是只是形參的指向改變了,實參str仍然指向NULL,并沒有改變。因此,程序達不到題目的要求,而且運行時會出現錯誤,由于str一直指向NULL,執行strcop時,會出現錯誤,提示某某內存不能寫入。

正確的方法應該采用雙指針,程序如下:
復制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
using namespace std;
void GetMeory(char **p, int num)
{
 *p = (char *)malloc(sizeof(char) * num);
 //*p = new char[num];  //C++當中
}
int _tmain(int argc, _TCHAR* argv[])
{
 char *str = NULL;
 GetMeory(&str, 100);
 strcpy(str,"Hello");
 cout << str << endl;
 return 0;
}

分析:str是一個指針,指向NULL。而調用GetMemory函數時,傳遞的是str的地址,p是一個二級指針,*p是一個指針。因此,將str的地址賦給臨時變量p,則*p就是指針str的值,改變*p的值就相當于改變str的值。因此這種方法能夠得到題目要求的效果。另外還有一種方法,采用一級指針,讓函數返回一個指針變量,指向新分配的內存,程序如下:
復制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
using namespace std;
char * GetMeory2(char *p, int num)
{
 p = (char *)malloc(sizeof(char) * num);
 //p = new char[num];  //C++當中
 return p;
}
int _tmain(int argc, _TCHAR* argv[])
{
 char *str = NULL;
 str = GetMeory2(str, 100);
 strcpy(str,"Hello");
 cout << str << endl;
 return 0;
}

2. 另外用二級指針還經常用在動態申請二維數組。
復制代碼 代碼如下:

void main()
{
int m , n , **p;
scanf("%d%d" , &m , &n);
p = (int **)malloc(m * sizeof(int *))
//C++中建議使用:p = new int* [m];
for(i = 0 ; i < m ; i++)
p[i] = (int *)malloc(n * sizeof(int));
//C++:p[i] = new int[n];
}

這樣就實現了二維數組的動態申請,因為一般數組聲明時,不允許下標是變量,所以如果想動態決定數組各維的大小,最好這樣做。

附:關于指針的一些定義

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97免费中文视频在线观看| 国产亚洲精品久久久| 日韩久久免费电影| 亚洲国产精彩中文乱码av| 国产91在线播放精品91| 亚洲精品国产拍免费91在线| 国产成人高清激情视频在线观看| 韩国美女主播一区| 久久成人精品电影| 中文国产成人精品久久一| 这里只有视频精品| 欧美黑人一区二区三区| 精品久久久久久久中文字幕| 欧美壮男野外gaytube| 91po在线观看91精品国产性色| 亚洲色图17p| 国产精品96久久久久久又黄又硬| 国产欧美日韩中文字幕| 成人精品aaaa网站| 国外视频精品毛片| 国产精品成人一区| 中文字幕亚洲精品| 国产精品女人久久久久久| 91免费看视频.| 俺去亚洲欧洲欧美日韩| 日本aⅴ大伊香蕉精品视频| 51久久精品夜色国产麻豆| 欧美电影免费看| 九九九久久久久久| 色悠悠国产精品| 亚洲精品在线不卡| 欧美成人免费小视频| 国产91亚洲精品| 色系列之999| 亚洲人成网站免费播放| 亚洲欧洲在线观看| 久久久国产一区二区三区| 亚洲天天在线日亚洲洲精| 国产丝袜一区二区| 中文字幕av一区二区三区谷原希美| 国内精久久久久久久久久人| 97国产suv精品一区二区62| 亚洲美腿欧美激情另类| 91亚洲永久免费精品| 欧美精品一区三区| 欧美黑人一区二区三区| 欧美日韩在线观看视频小说| 久久综合88中文色鬼| 亚洲综合在线小说| 4438全国成人免费| 91精品国产99久久久久久| 亚洲qvod图片区电影| 中国日韩欧美久久久久久久久| 亚洲天堂精品在线| 国产97色在线|日韩| 免费av一区二区| 成人黄色片网站| 91性高湖久久久久久久久_久久99| 久久精品视频亚洲| 久久频这里精品99香蕉| 亚洲激情在线视频| 国产精品成人国产乱一区| 午夜精品www| 亚洲少妇激情视频| 欧美一级免费视频| 日韩中文字幕欧美| 国产精品99蜜臀久久不卡二区| 上原亚衣av一区二区三区| 国产99久久精品一区二区永久免费| 久久久精品在线| 欧美午夜精品伦理| 久热爱精品视频线路一| 亚洲一级免费视频| 成人日韩在线电影| 78m国产成人精品视频| 国产精品久久久久久久久久久久| 欧美日韩第一视频| 日韩av一区在线| 亚洲一区二区久久久久久| 成人精品福利视频| 欧美人与性动交| 欧美精品www在线观看| 91po在线观看91精品国产性色| 欧美性xxxx18| 久久久久久成人| 中文字幕在线亚洲| 精品日韩美女的视频高清| 亚洲第一区中文99精品| 久久精品小视频| 九九热这里只有在线精品视| 欧美一级片久久久久久久| 97超碰国产精品女人人人爽| 国产精品99久久久久久久久久久久| 国产又爽又黄的激情精品视频| 欧美精品制服第一页| 成人黄色av播放免费| 一个人看的www久久| 国产欧美日韩免费看aⅴ视频| 亚洲女人被黑人巨大进入al| 国产精品欧美日韩久久| 日韩精品在线看| 久久久99久久精品女同性| 国产精品伦子伦免费视频| 欧美国产精品人人做人人爱| 97在线视频免费看| 97在线视频精品| 欧美亚洲在线视频| 日本免费一区二区三区视频观看| 91国在线精品国内播放| 国产xxx69麻豆国语对白| 在线国产精品视频| 日韩免费观看网站| 精品欧美aⅴ在线网站| 精品自拍视频在线观看| 久久精品国产久精国产思思| 精品亚洲一区二区三区| 国产精品久久91| 日韩欧美福利视频| 亚洲视频在线播放| 成人欧美一区二区三区在线湿哒哒| 亚洲精品国偷自产在线99热| 亚洲日韩中文字幕在线播放| 亚洲欧洲第一视频| 九九热精品视频在线播放| 国产精品久久久久久久电影| 日韩成人高清在线| 久久久久久久久亚洲| 亚洲精品日韩在线| 国色天香2019中文字幕在线观看| 亚洲аv电影天堂网| 九九视频这里只有精品| 国产精品中文在线| 亚洲国产另类 国产精品国产免费| 亚洲a级在线播放观看| 日韩一区视频在线| 亚洲精品一区久久久久久| 高清视频欧美一级| 欧美区在线播放| 亚洲国产精品美女| 国产精品视频免费在线观看| 丝袜亚洲欧美日韩综合| 国产在线视频欧美| 午夜精品视频在线| 亚洲精品国产精品国自产观看浪潮| 欧美精品日韩www.p站| 国产精品激情av电影在线观看| 一本大道香蕉久在线播放29| 精品久久久久久久久久国产| 欧美国产日韩中文字幕在线| 成人福利视频在线观看| 欧美性猛交xxxx黑人猛交| 欧美丝袜一区二区| 欧美日韩中国免费专区在线看| 午夜精品久久久久久久久久久久久| 亚洲尤物视频网| 91精品国产91久久久久久吃药| 欧美日韩亚洲国产一区| 亚洲电影中文字幕| 日韩av中文在线| 欧美日韩黄色大片| 久久亚洲精品视频| 91经典在线视频| 日韩中文字幕免费| 精品久久久久久国产|