二級指標的3種記憶體模型

2021-06-26 21:39:30 字數 1598 閱讀 9182

二級指標的記憶體模型

二級指標的第一種記憶體模型

char

*accary [ ]

=; //介面形參使用方式

intprintfarr(char

**arraystr

,int inum) }

//呼叫方式

printfarr(accary, 3);

二級指標的第二種記憶體模型

char

array[10][30]=;

//介面形參使用方式

voidabc(char

arrary[30],4)

}//呼叫方式

printfarr(array, 3);

二級指標的第三鐘記憶體模型

char**real = (char **)malloc(3*sizeof(char *));

for(int i=0; i<3; i++)

sprintf(real[0],"dbsiudaudhakdhjhba");

sprintf(real[1],"b");

printf("%s\n", real[1]);

//介面形參使用方式

intprintfarr(char

**arraystr

,int inum) }

//呼叫方式

形參寫法的引申:

voidstr(char abc[30]);

voidstr(char abc[ ]);

一維陣列做形參,退化為指標

voidstr(char abc);

手工加*,

手工完成編譯器任務

//針對第二種記憶體模型

voidstr(char abc[30][60]);

voidstr(char abc[ ][60]);

二維陣列做形參,退化為指標,60

為指標步長

voidstr(char (*abc)[60]);

手工加*,

手工完成編譯器任務,其實就是陣列指標

等價關係

陣列引數等效指標引數

一維陣列

chara[ 30 ] ------------------------------->

指標char× a

指標陣列char × a [ 30]-------------------------------->

指標的指標

char× × a

二位陣列

chara[30 ][30]-------------------------------->

陣列的指標

char(×a)[30]

二級指標的三種記憶體模型

1 記憶體模型圖 2 程式實現 include include include int printarr char arraystr,int numi return0 int sortarr char arraystr,int numi for i 0 i 選擇排序法 return ret void...

二級指標記憶體模型(一)

二級指標做輸入 include include include int getmem char myp1,int mylen1,char myp2,int mylen2 strcpy tmp1,abcdefg mylen1 strlen tmp1 myp1 tmp1 tmp2 char malloc...

二級指標的記憶體模型小結

the start 此處定義 主調函式分配記憶體,稱之為輸入 被調函式分配記憶體,稱之為輸出 指標是為記憶體服務的。二級指標做輸入 第一種型別 include stdio.h include stdlib.h include string.h intprintfstr char str,int st...