#define _CRT_SECURE_NO_WARNINGS #include//int main() //{ // //编号-地址-指针 // // 2^32种内存单元的编号 // //0000000000000000000000000000000000000000 // //.... // //11111111111111111111111111111111111111111 // 指针在大小在32位平台是4字节,在64位平台是8字节 // return 0; //} //int main() //{ // int a = 10;//占4个字节 // int* pa = &a;//拿到的是a的4个字节中第一个字节的地址 // *pa = 20;//pa指针变量 // return 0; // //} //int main() //{ // int* pa; // char* pc; // float* pf; // printf("%dn", sizeof(pa));//4 // printf("%dn", sizeof(pc));//4 // printf("%dn", sizeof(pf));//4 // return 0; //} 指针类型的意义 //1.指针类型决定访问权限-指针解引用的权限有多大 //2.指针类型决定了,指针走一步,能走多远 (步长) //int main() //{ // //0 1 2 3 4 5 6 7 8 9 a b c d e f // //11111111 // // 8421 // // int a = 0x11223344; // // int* pa = &a; // *pa = 0;//整型指针解引用1次,访问4个字节,4个字节内容全变成0 // // return 0; //} //int main() //{ // int a = 0x11223344; // char* pc = &a; // *pc = 0;//字符指针解引用一次,访问1个字节, // // return 0; //} //int main() //{ // int arr[10] = { 0 }; // int* p = arr; // char* pc = arr; // double* pd = arr; // // //跳过4个字节,一个字符 // printf("%pn", p);//006FFA80 // printf("%pn", p + 1);//006FFA84 // // //跳过1个字节 // printf("%pn", pc);//006FFA80 // printf("%pn", pc + 1);//006FFA81 // // printf("%pn", pd);//006FFA80 // printf("%pn", pd + 1); //006FFA88 // // return 0; //} //int main() //{ // int arr[10] = { 0 }; // int* p = arr; // int i = 0; // for (i = 0; i < 10; i++) // { // *(p + i) = 1;//p+i其实是下标为i的地址 // //如果希望访问数组时是按整型元素来访问的话,最好把他交给一个整型指针 // } // return 0; //} //int main() //{ // int arr[10] = { 0 }; // char* p = arr; // int i = 0; // for (i = 0; i < 10; i++) // { // *(p + i) = 1; // } // return 0; //} //int main() //{ // int arr[10] = { 0 }; // double* p = arr; // int i = 0; // for (i = 0; i < 10; i++) // { // *(p + i) = 1; // } // return 0; //}



