本文共 2570 字,大约阅读时间需要 8 分钟。
????? C/C++ ????????????
??????
char c = 'a';char* pc = &c;*pc = 'a';??????? pc ?????? c ?????? pc ??????????????? pc ??? c ??????
?????
char* str = "hello world";printf("%s\n", str);??????????????????????????????????? str ????????????????? str ???????????????????????????? '\0'?
???????????????????????????????????????
??????
char (*p)[10];??? p ???????? 10 ???????????????????????
int a[10]; a ??????????&a ????????? a + 1 ?? 1 ??????4 ????? &a + 1 ?? 10 ????????????
?????????????????????????????????????
??????
char* arr[4];??????
char** arr[5];???????
void test(int arr[]);void test(int* arr); arr[] ?????????????arr* ????????????????????
void test(int arr[3][5]);void test(int arr[][5]);????
void test(int* arr);void test(int** arr);?????????????????
??????
void (*pfun)();???????
void PopSort(int* nums, int numsSize, int (*p)(int x, int y)) { // ...}void GreaterPopSort(int x, int y) { return x > y ? 1 : 0; }void LessPopSort(int x, int y) { return x < y ? 1 : 0; }int main() { // ?? PopSort ????????? GreaterPopSort ? LessPopSort ???????}????????????????????????
void test(int* arr, void (*pfun)(int x, int y)) { pfun(arr[0], arr[1]);} ???????? pfun?????????????????
??????
int (*prt[10]);??? prt ????? 10 ????????????????????
void (***cpp)(int x, int y);??? cpp ?????????????????int main() { int a[5] = {1, 2, 3, 4, 5}; int* ptr = (int*)(a + 1); // ???????? printf("%d,%d", *ptr - 1, *ptr); return 0;} ?????4,5
int main() { char a[4] = {'1', '2', '3', '4'}; char* p = a; printf("%c,%c", *p, *(p + 1)); return 0;} ?????1,2
int main() { char a[3] = {'w', 'o', 'r'}; char** pa = a; printf("%s", *pa); return 0;} ?????wor
int main() { char a[3][2] = { {'w', 'o'}, {'r', 'k'}, {'a', ' '} }; char* p = a; printf("%s\n", p[0]); return 0;} ?????wo
int main() { char a[5][5]; char** p = a; printf("%p,%d\n", p[4][2], p[4][2] - 'a'); return 0;} ?????0x1c4d0, 4
int main() { char a[2][5] = { {'w', 'o', 'r', 'k', ' '}, {'a', 'l', 'i', 'b', 'a'} }; char** p = a; printf("%s\n", p[1][4]); return 0;} ?????a
int main() { char a[] = {"work", "at", "alibaba"}; char** pa = a; printf("%s\n", pa[1]); return 0;} ?????at
int main() { char a[5] = {'E', 'N', 'T', 'E', 'R'}; char** cpp = a; printf("%s\n", **cpp); printf("%s\n", *cpp); return 0;} ?????
ENTERE 转载地址:http://nzub.baihongyu.com/