c语言 char* 参数,深入理解c语言中两级指针(char **pptr)的参数的用法
/**/##*msgg[]={"","","","","","","Saturday"};voidget_w_day(constchar**pp){pp[0]=msgg[2];//*pp=msgg[0];pp[1]=msgg[3];//*(pp+1)=msgg[1];}intmain(void){charptr[2]={};constchar*pptr=ptr;//這里初始化也可以為NULL,不會導致編譯出錯和運行時的段錯誤,但在實際程序中最好詳細初始化constchar**ppptr=pptr;//在ppptr參數傳入get_w_day()函數之前,必須對其進行初始化,否則會導致運行時的段錯誤//仔細想一下原因,如果ppptr是NULL,那么get_w_day()函數修改的*ppptr就會修改一個不確定的位置//進一步從底層查找原因,如果ppptr是NULL,那么傳入get_w_day()時刻的實際值就是0x0,也就是我們要操作*((char*)0x00)=??//這樣必然導致一個段錯誤get_w_day(ppptr);charfuck=**ppptr+1;//這里的fuck應該等于幾?答案是'U'=='T'+1charfuckk=*(*ppptr+1);//如果是fuck=*(*ppptr+1)呢?答案是'u'==指向"Tuesday"頭指針加1charfuckkk=**(ppptr+1);//如果是**(ppptr+1)呢?答案是'V'charfuckkkk=**((ppptr+1)+1//是'W'=='V'+1charfuckkkkk=**((ppptr+2)+1//是一個不確定的值,有可能引起段錯誤printf("%s\t%s
",*ppptr,*(ppptr+1));return0;}
總結
以上是生活随笔為你收集整理的c语言 char* 参数,深入理解c语言中两级指针(char **pptr)的参数的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 先用总分升序再用计算机降序,怎样用升序降
- 下一篇: java模拟excel排序_Apache