可以認為,指標是c++這把寶劍最鋒利的部分,當然,如果你使用不當,也會傷到自己的
何為11級指標,其實,就是在指標前面加了11個*,加乙個*就是1級指標,加兩個*就是二級指標
char *********** qqptr = null;
指標和陣列有著扯不清的關係,這個11級指標,你可以理解為11維度的陣列,平日裡見得最多的恐怕也就是二維陣列了,11維,只能腦補了。如果qq號長度不夠10位,則在前面補0,那麼這個qq號的10位數字就可以用來做陣列的下角標了,最後的那個維度我們用來儲存密碼。
坦率的講,我腦子裡也對這個模型很是模糊,無法建立起乙個有效的概念,所以,還是直接上**吧,或許**比語言有更好的解釋效果:
#include using namespace std;
#define pointer_size 10
int chartoint(char ch)
char *********** qqptr = null;
void addqq(char *qq,char* pass)
if(strlen(qq)!=10)
int index[10];
for(int i =0;i<10;i++)
if(qqptr[index[0]]==null)
if(qqptr[index[0]][index[1]]==null)
if(qqptr[index[0]][index[1]][index[2]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]][index[8]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]][index[8]][index[9]]==null)
strcpy(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]][index[8]][index[9]],pass);
}bool i***ist(char *qq)
if(strlen(qq)!=10)
int index[10];
for(int i =0;i<10;i++)
if(qqptr[index[0]]==null)
if(qqptr[index[0]][index[1]]==null)
if(qqptr[index[0]][index[1]][index[2]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]][index[8]]==null)
if(qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]][index[8]][index[9]]==null)
return true;
}char* getpass(char* qq)
if(strlen(qq)!=10)
if(!i***ist(qq))
int index[10];
for(int i =0;i<10;i++)
return qqptr[index[0]][index[1]][index[2]][index[3]][index[4]][index[5]][index[6]][index[7]][index[8]][index[9]];
}int main(){
qqptr = (char ***********)malloc(sizeof(char*)* pointer_size);
memset(qqptr, 0, sizeof(char*)* pointer_size);//清零
char *qq = "0381084992";
char *pass = "314krtqw";
addqq(qq,pass);
cout<
C 之 多級指標
多級指標 分析原則,從變數名處起,根據運算子優先順序結合,一步一步分析。int p 3 首先從p處開始,先與結合,因為其優先順序比 高,所以p是乙個陣列,然後再與 結合,說明陣列裡的元素是指標型別,然後再與int結合,說明指標所指向的內容的型別是整型的,所以p是乙個由返回整型資料的指標所組成的陣列。...
多級指標玩法
多級指標玩法 define crt secure no warnings include include intmain const char cp const char cpp cp printf s n cpp point printf s n cpp 3 er printf s n cpp 2...
C 多級指標與多維陣列
多級指標可對應於多維陣列,這種指標變數中存的是另乙個指標變數的位址,其說明如下 int val 10 int ptr val int pptr ptr int ppptr pptr 是多少級指標就有多少 號 這裡val值為10,ptr值也為10,pptr的值和 ppptr的值均為10。注意這裡的 號...