//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("%d\n", sizeof(pa));//4
// printf("%d\n", sizeof(pc));//4
// printf("%d\n", 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("%p\n", p);//006FFA80
// printf("%p\n", p + 1);//006FFA84
//
// //跳过1个字节
// printf("%p\n", pc);//006FFA80
// printf("%p\n", pc + 1);//006FFA81
//
// printf("%p\n", pd);//006FFA80
// printf("%p\n", 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;
//}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律