void test (int *c) { *c=31; } int main(void) { int a=3; test(&a); printf("%d\n", a); return 0; } --------------------------------------- void test (char **c) { *c="hi"; } int main(void) { char *a="hello"; test(&a); printf("%s\n", a); return 0; } ----------------------------------------- void getMem(char **ptr) { *ptr = (char*)malloc(100); } int main(void) { char *str = NULL; getMem(&str); strcpy(str, "Hello C/C++ programming"); printf("%s\n", str); free(str); return 0; } ------------------------------------------ #define ROW 8 #define COL 64 char **getMem() { int i=0; char **ptr =(cahr **)malloc(sizeof(char*) * ROW); for (i = 0; i <ROW; i++) ptr[i] =(cahr *)malloc(sizeof(char *) * COL); return ptr; } int main(void) { int i=0; char **str = getMem(); strcpy(*str, "123"); strcpy(*(str+1), "456"); printf("%s, %s", *str, *(str+1)); for (i = 0; i <ROW; i++) free(str[i]); free(str); } ------------------------------------------ int test2(char *input, int len) { char *test="hello world"; strncpy(input, test, len); return 0; } int test(char input[][16]) { char *test="hello world"; strncpy(input[0], test, 16); strncpy(input[1], "jojo", 16); return 0; } int main(void) { char input[16][16]= {'\0'}; test(input); test2(input[2], 16); test2(input[3], 16); printf("input=%s\n", input[0]); printf("input=%s\n", input[1]); printf("input=%s\n", input[2]); printf("input=%s\n", input[3]); return 0; }
2008年10月11日 星期六
基礎指標
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言