二級指標做輸入
#include#include#include
int getmem(char **myp1,int *mylen1,char **myp2,int *mylen2)
strcpy(tmp1,
"abcdefg");
*mylen1 =strlen(tmp1);
*myp1 =tmp1;
tmp2 = (char *)malloc(100
);
if(tmp2 ==null)
strcpy(tmp2,
"abcdefg");
*mylen2 =strlen(tmp2);
*myp2 =tmp2;
return0;
}int getmem_free(char **myp1)
tmp = *myp1;
free
(tmp);
*myp1 =null;
return0;
}int
main()
二級指標做輸入,利用指標改變指標指向內容
#include#include#include
void printmyarray(char **myarray,int
num)
}void sortmyarray(char **myarray,int
num)}}
}int
main()
; num = sizeof(myarray)/sizeof(myarray[0
]); printmyarray(myarray,num);
sortmyarray(myarray,num);
printf(
"after sort\n");
printmyarray(myarray,num);
return0;
}
如果將main函式中的字串陣列宣告修改為
char myarray[10][30] = ;
此時,在傳入列印和排序的函式中仍然使用char ** myarray 來宣告形參的話,會出現報錯,原因是指標的步長不一樣,而且指標指向的記憶體空間資料型別也不一樣。
C語言 二級指標記憶體模型
二級指標第一種記憶體模型 include include 說明 類似於int a 5 陣列名a是一維陣列a中首元素的指標 我自認為此假設可應用於多維陣列與指標 二級指標的主要功能是修改一級指標的值 列印一維陣列 int printarr char pin,int num 列印二級指標陣列 int i...
C語言 二級指標記憶體模型
二級指標記憶體模型 define crt secure no warnings include include include 記憶體模型詳解 一維陣列型別是 typedef int myarr 5 myarr a 其中myarr是一維陣列型別 myarr p p是一維陣列的指標 是一維陣列的指標的...
二級指標的記憶體模型小結
the start 此處定義 主調函式分配記憶體,稱之為輸入 被調函式分配記憶體,稱之為輸出 指標是為記憶體服務的。二級指標做輸入 第一種型別 include stdio.h include stdlib.h include string.h intprintfstr char str,int st...