当前位置: 首页 > news >正文

绍兴做外贸网站的公司常州建设网站代理商

绍兴做外贸网站的公司,常州建设网站代理商,wordpress手机上用的,wordpress 建网站视频概述 内存地址 在计算机内存中#xff0c;每个存储单元都有一个唯一的地址(内存编号)。通俗理解#xff0c;内存就是房间#xff0c;地址就是门牌号 指针和指针变量 指针#xff08;Pointer#xff09;是一种特殊的变量类型#xff0c;它用于存储内存地址。指针的实…概述 内存地址 在计算机内存中每个存储单元都有一个唯一的地址(内存编号)。通俗理解内存就是房间地址就是门牌号 指针和指针变量 指针Pointer是一种特殊的变量类型它用于存储内存地址。指针的实质就是内存“地址”指针变量就是存储这个地址的变量。 指针作用 可间接修改变量的值 指针变量的定义和使用 指针也是一种数据类型指针变量也是一种变量指针变量指向谁就把谁的地址赋值给指针变量 语法格式 类型 变量; 类型 * 指针变量 变量;叫取地址返回操作数的内存地址叫解引用指操作指针所指向的变量的值在定义变量时* 号表示所声明的变量为指针类型 指针变量要保存某个变量的地址指针变量的类型比这个变量的类型多一个*在指针使用时* 号表示操作指针所指向的内存空间 示例代码 #include stdio.hint main() {// 定义一个int类型的变量同时赋值为10int a 10;// 打印变量的地址printf(a %p\n, a);// 定义一个指针变量int *保存int的地址// int *代表是一种数据类型int *指针类型p才是变量名int* p;// 指针指向谁就把谁的地址赋值给这个指针变量p a;// 打印p, *p, p指向了a的地址*p就是a的值printf(p %p, *p %d\n, p, *p);return 0; }通过指针间接修改变量的值 指针变量指向谁就把谁的地址赋值给指针变量 通过 *指针变量 间接修改变量的值 #include stdio.hint main() {// 定义一个int类型变量a同时赋值为0int a 0;// 定义int *指针变量同时赋值a的地址int *p a;// 通过指针间接修改a的值*p 123;printf(a %d\n, a);// 定义一个int类型变量b同时赋值为5int b 5;// p 保存 b的地址p b;// 通过指针间接修改b的值*p 250;printf(b %d\n, b);return 0; }指针与常量 - 语法格式 int a 1; const int *p1 a; // 等价于 int const *p1 a; int * const p2 a; const int * const p3 a;从左往右看跳过类型看修饰哪个字符 如果是* 说明指针指向的内存不能改变 如果是指针变量说明指针的指向不能改变指针的值不能修改 #include stdio.hint main() {int a 1;int b 2;// p1 可以改*p1不能改const int *p1 a; // 等价于 int const *p1 a;// p1 b; // ok// *p1 555; // err// p2 不能修改*p2可以修改int *const p2 a;// p2 b; //err// *p2 555; // ok// p3 和 *p 都不能改const int *const p3 a;// p3 b; // err// *p3 555; // errreturn 0; }指针大小 使用sizeof()测量指针的大小得到的总是4或8sizeof()测的是指针变量指向存储地址的大小在32位平台所有的指针地址都是32位(4字节)在64位平台所有的指针地址都是64位(8字节) #include stdio.hint main() {int *p1;int **p2;char *p3;char **p4;printf(sizeof(p1) %llu\n, sizeof(p1));printf(sizeof(p2) %llu\n, sizeof(p2));printf(sizeof(p3) %llu\n, sizeof(p3));printf(sizeof(p4) %llu\n, sizeof(p4));printf(sizeof(double *) %llu\n, sizeof(double *));return 0; }指针步长 指针步长指的是通过指针进行递增或递减操作时指针所指向的内存地址相对于当前地址的偏移量。指针的步长取决于所指向的数据类型。指针加n等于指针地址加上 n 个 sizeof(type) 的长度 指针减n等于指针地址减去 n 个 sizeof(type) 的长度 #include stdio.hint main() {char ch;char *p1 ch;printf(p1:%p, p11: %p\n, p1, p1 1); // 步长为1字节int a;int *p2 a;printf(p2:%p, p21: %p\n, p2, p2 1); // 步长为4字节double d;double *p3 d;printf(p3:%p, p31: %p\n, p3, p3 1); // 步长为8字节return 0; }野指针和空指针 指针变量也是变量是变量就可以任意赋值任意数值赋值给指针变量没有意义因为这样的指针就成了野指针此指针指向的区域是未知(操作系统不允许操作此指针指向的内存区域)野指针不会直接引发错误操作野指针指向的内存区域才会出问题为了标志某个指针变量没有任何指向可赋值为NULLNULL是一个值为0的宏常量 #include stdio.hint main() {int *p;p 0x12345678; // 给指针变量p赋值p为野指针 ok不会有问题但没有意义// *p 1000; // 操作野指针指向未知区域内存出问题errprintf(111111111111111111\n);int *q NULL; // 空指针return 0; }多级指针 C语言允许有多级指针存在在实际的程序中一级指针最常用其次是二级指针。 二级指针就是指向一个一级指针变量地址的指针。 #include stdio.hint main() {int a 100;// 一级指针int* p1 a;printf(a%p\n, a);printf(p1%p\n, p1);printf(p1%p\n, p1);// 二级指针可以存储一级指针变量的地址int** p2 p1;printf(p2%p\n, p2);printf(p2%p\n, p2);// 三级指针可以存储二级指针变量的地址int*** p3 p2;printf(p3%p\n, p3);printf(p3%p\n, p3);printf(---------------------\n);// 通过一级指针访问100打印出来printf(*p1%d\n, *p1);// 通过二级指针访问100打印出来printf(**p2%d\n, **p2);// 通过三级指针访问100打印出来printf(***p3%d\n, ***p3);return 0; }
http://www.w-s-a.com/news/747863/

相关文章:

  • wordpress 百度地图api网络seo天津
  • 网站营销咨询顾问餐饮加盟网站建设方案
  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读
  • 望京 网站建设深圳发型网站建设
  • 电商网站的相同点医疗网站建设代理商
  • 网址导航网站有哪些易营宝智能建站
  • 私人定制哪个网站做的比较好免费网站使用
  • 嘉兴网站建设系统免费的seo优化
  • 购书网站开发的意义网站建设接单渠道
  • 网站站内搜索怎么做wordpress默认主题修改
  • 网站推广的表现方式交网站建设 域名计入什么科目
  • 龙岗南联网站建设公司江门市
  • 网站运行方案设计平台模式
  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站