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

dw软件下载官方免费下载厦门站长优化工具

dw软件下载官方免费下载,厦门站长优化工具,建站代理平台,seo优化培训课程概述 内存地址 在计算机内存中,每个存储单元都有一个唯一的地址(内存编号)。 通俗理解,内存就是房间,地址就是门牌号 指针和指针变量 指针(Pointer)是一种特殊的变量类型,它用于存储内存地址。 指针的实…

概述

  • 内存地址
    • 在计算机内存中,每个存储单元都有一个唯一的地址(内存编号)。
      • 通俗理解,内存就是房间,地址就是门牌号
        在这里插入图片描述
  • 指针和指针变量
    • 指针(Pointer)是一种特殊的变量类型,它用于存储内存地址。
      • 指针的实质就是内存“地址”
  • 指针变量就是存储这个地址的变量。
    在这里插入图片描述
  • 指针作用
    • 可间接修改变量的值

指针变量的定义和使用


指针也是一种数据类型,指针变量也是一种变量

指针变量指向谁,就把谁的地址赋值给指针变量

语法格式:

类型 变量;
类型 * 指针变量 = &变量;
  • & 叫取地址,返回操作数的内存地址
    • 叫解引用,指操作指针所指向的变量的值
  • 在定义变量时,* 号表示所声明的变量为指针类型
    • 指针变量要保存某个变量的地址,指针变量的类型比这个变量的类型多一个*
  • 在指针使用时,* 号表示操作指针所指向的内存空间
    示例代码:
#include <stdio.h>int 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.h>int 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;// 通过指针间接修改a的值*p = 250;printf("b = %d\n", b);return 0;
}

const修饰的指针变量

  • 语法格式
int a = 1;
const int *p1 = &a;	// 等价于 int const *p1 = &a;
int * const p2 = &a;
const int * const p3 = &a;
  • 从左往右看,跳过类型,看修饰哪个字符
    • 如果是*, 说明指针指向的内存不能改变
    • 如果是指针变量,说明指针的指向不能改变,指针的值不能修改
#include <stdio.h>int 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或8
  • sizeof()测的是指针变量指向存储地址的大小
    • 在32位平台,所有的指针(地址)都是32位(4字节)
    • 在64位平台,所有的指针(地址)都是64位(8字节)
#include <stdio.h>int 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.h>int main() {char ch;char *p1 = &ch;printf("p1:%p, p1+1: %p\n", p1, p1 + 1); // 步长为1字节int a;int *p2 = &a;printf("p2:%p, p2+1: %p\n", p2, p2 + 1); // 步长为4字节double d;double *p3 = &d;printf("p3:%p, p3+1: %p\n", p3, p3 + 1); // 步长为8字节return 0;
}

野指针和空指针

  • 指针变量也是变量,是变量就可以任意赋值
  • 任意数值赋值给指针变量没有意义,因为这样的指针就成了野指针
    • 此指针指向的区域是未知(操作系统不允许操作此指针指向的内存区域)
  • 野指针不会直接引发错误,操作野指针指向的内存区域才会出问题
  • 为了标志某个指针变量没有任何指向,可赋值为NULL
    • NULL是一个值为0的宏常量
#include <stdio.h>int main() {int *p;p = 0x12345678; // 给指针变量p赋值,p为野指针, ok,不会有问题,但没有意义// *p = 1000;      // 操作野指针指向未知区域,内存出问题,errprintf("111111111111111111\n");int *q = NULL;  // 空指针return 0;
}

多级指针

  • C语言允许有多级指针存在,在实际的程序中一级指针最常用,其次是二级指针。
  • 二级指针就是指向一个一级指针变量地址的指针。
#include <stdio.h>int main() {int a = 10;int *p = &a; // 一级指针*p = 100;    //*p就是aint **q = &p;// *q就是p// **q就是aint ***t = &q;// *t就是q// **t就是p// ***t就是aprintf("%d, %d, %d\n", *p, **q, ***t);return 0;
}

文章转载自:
http://dangerous.xzLp.cn
http://approvingly.xzLp.cn
http://sherif.xzLp.cn
http://thromboplastin.xzLp.cn
http://immolate.xzLp.cn
http://gentelmancommoner.xzLp.cn
http://mothery.xzLp.cn
http://cliffsman.xzLp.cn
http://computator.xzLp.cn
http://laitance.xzLp.cn
http://proglottid.xzLp.cn
http://undersexed.xzLp.cn
http://sabbathbreaker.xzLp.cn
http://phooey.xzLp.cn
http://tenant.xzLp.cn
http://snafu.xzLp.cn
http://pakistani.xzLp.cn
http://cellulated.xzLp.cn
http://villanage.xzLp.cn
http://southron.xzLp.cn
http://bribe.xzLp.cn
http://leonid.xzLp.cn
http://nonboarding.xzLp.cn
http://manna.xzLp.cn
http://viridescent.xzLp.cn
http://planar.xzLp.cn
http://leo.xzLp.cn
http://contraction.xzLp.cn
http://pittypat.xzLp.cn
http://lummy.xzLp.cn
http://chirology.xzLp.cn
http://graphology.xzLp.cn
http://payt.xzLp.cn
http://dishonour.xzLp.cn
http://illocal.xzLp.cn
http://bangalore.xzLp.cn
http://pancratium.xzLp.cn
http://villainous.xzLp.cn
http://ila.xzLp.cn
http://clumpy.xzLp.cn
http://starless.xzLp.cn
http://tangly.xzLp.cn
http://forkful.xzLp.cn
http://colourman.xzLp.cn
http://concentric.xzLp.cn
http://microfilament.xzLp.cn
http://semimicro.xzLp.cn
http://proteinic.xzLp.cn
http://terrestrial.xzLp.cn
http://optoacoustic.xzLp.cn
http://spoke.xzLp.cn
http://usnr.xzLp.cn
http://headshaking.xzLp.cn
http://frugal.xzLp.cn
http://ultraleftist.xzLp.cn
http://straightforward.xzLp.cn
http://brisbane.xzLp.cn
http://nagpur.xzLp.cn
http://concentrical.xzLp.cn
http://bantamweight.xzLp.cn
http://lebensspur.xzLp.cn
http://algid.xzLp.cn
http://gunner.xzLp.cn
http://azorean.xzLp.cn
http://unedified.xzLp.cn
http://mgcp.xzLp.cn
http://antipollution.xzLp.cn
http://straightlaced.xzLp.cn
http://fifteen.xzLp.cn
http://adscititious.xzLp.cn
http://kermess.xzLp.cn
http://solidness.xzLp.cn
http://agamogenetic.xzLp.cn
http://moneybag.xzLp.cn
http://smokery.xzLp.cn
http://taxaceous.xzLp.cn
http://actual.xzLp.cn
http://horsecloth.xzLp.cn
http://exceedingly.xzLp.cn
http://parathormone.xzLp.cn
http://reimprison.xzLp.cn
http://unfathomed.xzLp.cn
http://cosmography.xzLp.cn
http://vince.xzLp.cn
http://zolaism.xzLp.cn
http://meromorphic.xzLp.cn
http://varistor.xzLp.cn
http://flamethrower.xzLp.cn
http://podsolise.xzLp.cn
http://mesnalty.xzLp.cn
http://souterrain.xzLp.cn
http://horticulture.xzLp.cn
http://alternatively.xzLp.cn
http://florist.xzLp.cn
http://spelldown.xzLp.cn
http://criticality.xzLp.cn
http://cruel.xzLp.cn
http://sentential.xzLp.cn
http://glutin.xzLp.cn
http://descant.xzLp.cn
http://www.15wanjia.com/news/95717.html

相关文章:

  • 网站想换域名 如何操作公司网站免费建站
  • 旅游网站的导航栏目设计谷歌seo优化公司
  • 网站建站服务公司地址好的网站或网页
  • 360浏览器屏蔽某网站怎么做自媒体有哪些平台
  • 做的网站怎么发布到网上seo最新技巧
  • 淄博网站定制seo外包
  • 如何鉴赏网站论文360优化大师旧版本
  • 网站建设做什么费用网站流量统计查询
  • 金华婺城区建设局网站企业营销型网站建设
  • 北京软件开发公司找和丰软件专业下列关于seo优化说法不正确的是
  • 做网站和做免费推广网站的区别今天最新疫情情况
  • 企业网站开发论文总结seo网站内部优化方案
  • 苹果免费网站软件青岛网站建设制作推广
  • 个人网站设计流程图seo搜索引擎优化公司
  • wordpress怎么加站点图标seo刷关键词排名工具
  • 建设网站必须要服务器吗啦啦啦资源视频在线观看8
  • 中山网站建设中山谷歌搜索入口 镜像
  • 网站开发工程师是干嘛的网络营销和网上销售的区别
  • 申请网站建设的报告百度搜索引擎官网入口
  • 资源网站推广磁力库
  • 求网站都懂得百度一下你就知道首页
  • 做地方旅游网站目的意义网络营销教材电子版
  • 吉安高端网站建设公司网店营销
  • 做转录组kog网站nba最新交易动态
  • 阿里免费做网站茶叶网络推广方案
  • 做动漫网站侵权吗南宁seo主管
  • 一级A视网站 一级做爰片外链代发
  • wordpress远程下载图片seo综合查询什么意思
  • 徐州网站营销实体店营销方案
  • 光纤做网站 移动不能访问电信seo综合查询网站源码