你知道如何学好C/C++的指针吗

晓晓 124 0

搬瓦工官网(国内无法打开,需要梯子)https://bandwagonhost.com
搬瓦工官网中国镜像站https://bwh81.net(搬瓦工官方网站,放心访问)
搬瓦工官方中文网https://bwh86.net
搬瓦工官网所有方案以及库存监控页面https://bwh86.net/monitor
最新搬瓦工最大优惠力度优惠码(循环优惠6.58%):BWHNCXNVXV
搬瓦工新用户注册和图文购买教程点击查看

有很多人学习C/C++都败在了指针上面。但是指针听起来并不像某些人说的的那样那么可怕。当您获得它们时,它们实际上非常简单。指针只是指向堆中内存位置或您的RAM的地址,更具体地说。所有变量和对象都有一个地址。

首先,将指针视为整数地址-每个指针都是连续内存的索引。如果您有一个名为x 的变量,则其地址为ptr = &x ;。给定这样的指针ptr ,您可以使用* ptr 查看存储在地址中的内容。这两个操作使您可以将指针传递给函数int func(MyClass * p);。而不是传递更大的值,从而节省了时间,还允许读取和修改原始值。如果不需要修改值,请使用int func(const MyClass * p);。

了解更多有关C/C++知识:

当用* ptr 取消指针的指针时,除了data((* ptr).data 或ptr-> data )之外,您可能还会发现另一个指针ptr-> next;。这样,您可以选择更多数据和更多指针,直到ptr-> next 变为0 为止。这样的数据结构称为链表。在双向链接列表中,每个元素都有next 和prev 指针,因此您可以在两个方向上遍历它。但是,只要存储可能的上一个和下一个指针的异或(XOR),您就可以只使用一个指针,并且仍然可以双向遍历列表。然后将具有先前指针和XOR值,那样则可以通过对两者进行XOR运算获得下一个指针。而且,如果您具有next和XOR值,则可以以相同的方式获取prev 值(遍历需要维护两个运行中的指针,而不仅仅是一个)。如果您不知道什么是XOR,请考虑求和运算符(然后从结果中减去以获得指针)。

使用指针可以做的另一件事是跳过它指向的内存插槽并检查下一个插槽*(++ ptr)或仅检查* ++ ptr 进行数据查找,可以使用++ ptr-> data。然后是下一个插槽,依此类推。与其重复++ ptr 多次,不如使用ptr + k 跳过k个步骤。*(ptr + k)的快捷方式是ptr [k] 。最常见的思考方法是ptr 实际上是一个数据数组,而您正在使用此数组的第k个元素。当然,您需要知道阵列的大小不要超出。如果未明确指定大小,则有时最后一个有效元素会标有 0 值。这就是C字符串的工作方式-它们只是零终止的字符(char)数组,由单个指针定义。例如,如果我有相等大小的C字符串s1 和s2 ,并为其分配了内存,则可以使用while(* s2 ++ = * s1 ++)用s1 覆盖s2 。此循环将字符* s1复制到字符* s2上,前进两个指针,如果复制的字符没有代码0 ,则继续执行。

分配内存有不同的方法,一种常见的技术是
ptr = new int [20]; 创建一个由20个整数组成的数组(假定您之前使用 int * ptr 声明了ptr ),只需记住调用delete [] ptr即可;在您失去PTR 值之前。如果您写int ptr [20]; 那么当ptr超出范围时,内存将被释放。但这会使将ptr传递给函数具有风险。您还可以编写ptr = new int; 分配一个int ,这需要与delete ptr 相匹配;

也许今天有点冷,小编手有点抖,如果敲错了一些,还希望大家见谅。了解更多:

搬瓦工机房方案整理

搬瓦工目前提供了4个方案,包括搬瓦工KVM方案搬瓦工CN2 GT方案搬瓦工CN2 GIA-E方案搬瓦工香港方案,每种方案有多种套餐配置,详细的配置和价格整理如下:
套餐名称 CPU 内存大小 硬盘容量 每月流量 带宽 价格/年 购买链接
搬瓦工CN2-E限量版(搬瓦工补货通知群(禁言,仅推送):903230558)
CN2 GIA LIMITED EDITION 1核 1 GB 10 GB 500 GB 1 Gbps $89.99 立即购买
搬瓦工CN2 GT方案
CN2 1核 1024 MB 20 GB 1000 GB 1 Gbps $49.99 立即购买
CN2 1核 2048 MB 40 GB 2000 GB 1 Gbps $99.99 立即购买
CN2 2核 4096 MB 80 GB 3000 GB 1 Gbps $199.99 立即购买
CN2 2核 8 GB 160 GB 5000 GB 1 Gbps $399.99 立即购买
CN2 3核 16 GB 320 GB 8000 GB 1 Gbps $799.99 立即购买
CN2大流量 3核 16 GB 320 GB 12000 GB 1 Gbps $899.99 立即购买
CN2大流量 3核 16 GB 320 GB 16000 GB 1 Gbps $1299.99 立即购买
搬瓦工CN2 GIA-E方案(可选搬瓦工DC9 CN2 GIA,搬瓦工DC6 CN2 GIA,搬瓦工日本大阪软银线路)
CN2 GIA ECOMMERCE 2核 1 GB 20 GB 1000 GB 2.5 Gbps $169.99 立即购买
CN2 GIA ECOMMERCE 3核 2 GB 40 GB 2000 GB 2.5 Gbps $299.99 立即购买
CN2 GIA ECOMMERCE 4核 4 GB 80 GB 3000 GB 2.5 Gbps $549.99 立即购买
CN2 GIA ECOMMERCE 6核 8 GB 160 GB 5000 GB 5 Gbps $879.99 立即购买
CN2 GIA ECOMMERCE 8核 16 GB 320 GB 8000 GB 5 Gbps $1599.99 立即购买
CN2 GIA ECOMMERCE 10核 32 GB 640 GB 10000 GB 10 Gbps $2759.99 立即购买
CN2 GIA ECOMMERCE 12核 64 GB 1280 GB 12000 GB 10 Gbps $5399.99 立即购买
搬瓦工香港方案
香港CN2 GIA 2核 2048 MB 40 GB 500 GB 1 Gbps $899.99 立即购买
香港CN2 GIA 4核 4096 MB 80 GB 1000 GB 1 Gbps $1559.99 立即购买
香港CN2 GIA 6核 8192 MB 160 GB 2000 GB 1 Gbps $2999.99 立即购买
香港CN2 GIA 6核 16384 MB 320 GB 4000 GB 1 Gbps $5899.99 立即购买
搬瓦工日本方案
日本CN2 GIA 2核 2048 MB 40 GB 500 GB 1.2 Gbps $899.99 立即购买
日本CN2 GIA 4核 4096 MB 80 GB 1000 GB 1.2 Gbps $1559.99 立即购买
日本CN2 GIA 6核 8192 MB 160 GB 2000 GB 1.2 Gbps $2999.99 立即购买
日本CN2 GIA 6核 16384 MB 320 GB 4000 GB 1.2 Gbps $5899.99 立即购买
搬瓦工KVM方案
KVM 2核 1024 MB 20 GB 1 TB 1 Gbps $49.99 立即购买
KVM 3核 2 GB 40 GB 2 TB 1 Gbps $99.99 立即购买
KVM 4核 4 GB 80 GB 3 TB 1 Gbps $199.99 立即购买
KVM 5核 8 GB 160 GB 4 TB 1 Gbps $399.99 立即购买
KVM 6核 16 GB 320 GB 5 TB 1 Gbps $799.99 立即购买
KVM 7核 24 GB 480GB 6 TB 1 Gbps $1,199.99 立即购买

标签: 国外云服务器 香港服务器 美国服务器 搬瓦工VPS

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~