指针

精通c语言中的指针-数组

一维数组:int ara[3]={1,2,3}; printf("%d\n",ara): printf("%d\n",&ara): 打印之后,发现ara和&ara两个值是一样的,为什么? 按照我们学习的理解,&ara是取ara的地址,一个是地址,一个是值,不应该一样,那为什么打印出来会是一样的? 从 ......
数组 指针 语言

Const 关键字 与指针

Const 关键字 与指针 发表于2007年04月29日由不及格的程序员-八神 星期一 天气:晴 使用指针 会涉及到两个对象 一个是指针本身,另一个是它指向的对象. 将指针声明为 const 就使对象为常量而不是指针为常量; 例如: const char* p = "asdf"; //指向常量的指针 ......
指针 关键字 关键 Const

精通c语言中的指针(精通c指针1)

之前学c语言的时候,指针这一章学的半吊子,似是而非,最近经过学习,对指针有个更加深刻的理解。 如果之前学过c指针,并且可以使用指针随心所欲操作内存中的任何数据,那么说明指针学好了,否则就是半吊子。 如果之前学过指针,那最好忘记之前学过的所有概念,把指针当做一种新的类型来学习。这种新的类型特点就是带* ......
指针 语言

C++ 智能指针

# unique_ptr unique_ptr为了避免重复释放(double free)问题出现,进行拷贝(删除了拷贝构造函数) 这样的特性带来的问题是无法进行参数传递(因为参数传递需要拷贝构造函数),有两种解决方法 想要解决这个问题,首先需要理解为什么unique_ptr会禁止拷贝,对一个指针进行 ......
指针 智能

C++指针

#include <iostream>using namespace std; //指针 if (1) { int a = 10; int b = 20; const int* pi = &a; pi = &b; //const指针可以修改指针,不能修改指向的数据 //*pi = 25; //错误 ......
指针

逍遥自在学C语言 | 指针和数组的关联

## 前言 指针和数组之间存在着紧密的关系。在本文中,我们将探讨指针和数组的关系、指针算术和数组遍历、多维数组与指针以及指针数组和数组指针。 ## 一、人物简介 - 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 ![img](https://img2023.cnblogs.com/ ......
逍遥自在 数组 指针 自在 语言

C++面试八股文:什么是智能指针?

某日二师兄参加XXX科技公司的C++工程师开发岗位第19面: > 面试官:什么是智能指针? > > 二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。 > > 面试官:C++11引入了哪些智能指针? > > 二师兄:三种,分别是`s ......
八股文 八股 指针 智能

内核启动阶段获得dtb位置指针过程

###一.内核启动阶段获得dtb位置指针 以**arm64**为例,内核启动如下:/arch/arm64/kernel/head.S ```c __HEAD _head: /* * DO NOT MODIFY. Image header expected by Linux boot-loaders. ......
指针 内核 阶段 位置 过程

Git基础、Git指针、Git分支、Git标签

什么是Git:它是一个分布式版本控制系统,支持断网操作,每个开发者都是一个仓库的完整克隆,每个人都是服务器 为什么要使用Git:它可以有效、高速的处理从很小到非常大的项目版本控制 1.Git安装: yum -y install git #使用yum安装Git 支持的子命令操作:{1}config # ......
Git 指针 分支 标签 基础

C++多态的原理(虚函数指针和虚函数表) --imxiangzi 好好看

C++多态的原理 (虚函数指针和虚函数表)1.虚函数指针和虚函数表2.继承中的虚函数表2.1单继承中的虚函数表2.2多继承中的虚函数表3.多态的原理4.总结1.虚函数指针和虚函数表以下代码:问类实例化出的对象占几个字节? #include<iostream>using namespace std;c ......
函数 指针 imxiangzi 原理

单链表(双指针)

#include <stdio.h> #include <stdlib.h> #include <time.h> typedef struct Node{ int value; struct Node *pNext; } Node; /* 打印链表 */void show_data(Node *he ......
指针

指针与数组

**数组和指针可以相互转换,但它们不是等价的。** # 指针与数组 ## 数组的名字被当做指针使用 在 C 和 C++ 中,指针与数组有非常紧密的联系。实际上,使用数组的时候,编译器通常都是在操作指针。这里我们从两个角度说明数组名在很多时候被当做是一个指针。 ```c int nums[] = {1 ......
数组 指针

指针

指针类型 ```c int* a;//a是指向整形的指针; int* a[5];//一维指针数组(这里存放着5个指向整形的指针),a指向第一个元素的地址,a+1指向第二个......(a[5]是一个指针数组); int (*a)[5];//指向数组(这里每个一维数组含5个元素)的指针,a是第一个一维 ......
指针

transform (牛客多校) (双指针+二分+ 中位数妙用+前缀和相减维护)

题目大意: n 个商店在 一条直线上, 有一个xi 然后 有 ai 个商品 你可以把 商店的物品 移动到另一个商店, 代价为 : abs(xi-xj) 在代价不超过T的情况下 你可以选择一个商店来让 其他商店的物品都移到这个商店,问最多移动多少个物品 思路: 双指针维护一个最大的区间, 因为这个最大 ......
中位数 前缀 妙用 指针 transform

C语言:指针

1、指针简单介绍 #include<stdio.h> int main(void){ int * p; // p是变量的名字, int * 表示p变量存放的是int类型的地址(指针变量) /* int * p 应该理解为 p 是变量名,p变量数据类型是 int * 类型,实际即使存放的是int变量地 ......
指针 语言

C++面试八股文:聊一聊指针?

某日二师兄参加XXX科技公司的C++工程师开发岗位第17面: > 面试官:聊一聊指针? > > 二师兄:好的。 > > 面试官:你觉得指针本质上是什么? > > 二师兄:这要从内存地址开始说起了。如果有一块容量是1G的内存,假设它的地址是从`0x00000000` 到`0x3fffffff`,每一个 ......
八股文 八股 指针

逍遥自在学C语言 | 指针的基础用法

## 前言 在C语言中,指针是一项重要的概念,它允许我们直接访问和操作内存地址。 可以说,指针是C语言一大优势。用得好,你写程序如同赵子龙百万军中取上将首级;用得不好,则各种问题层出不穷,有种双拳难敌四手的感觉。 本文将介绍指针的基础知识,包括指针的定义、初始化、访问和运算。 ## 一、人物简介 - ......
逍遥自在 指针 自在 语言 基础

一个由于this指针引起的typeid()在继承时只显示基类名称的奇怪问题

问题描述先看代码 #include <iostream>#include <string>using namespace std; class A{public: virtual string toString() { return typeid(this).name(); } friend ost ......
类名 指针 typeid 问题 this

C++11之智能指针unique_ptr

std::unique_ptr 是 C++ 标准库中的智能指针类,用于管理动态分配的对象。它提供了独占式拥有权,即在任何时候只能有一个 std::unique_ptr 拥有对对象的唯一所有权。当 std::unique_ptr 被销毁或重置时,它会自动删除所管理的对象,从而避免内存泄漏。 std:: ......
指针 unique_ptr 智能 unique ptr

C++函数的进化 函数→函数指针→函数模板→仿函数|函数对象→lambda表达式

# C++函数的进化 **(函数→函数指针→函数模板→仿函数/函数对象→lambda表达式)** 知识点梳理-举例说明(统计数组元素个数) ## 过程1(函数) 最简单的方式 ```c++ int countMatchElements(int* beg, int* end) { int result ......
函数 表达式 指针 对象 模板

浅谈C语言指针的运用(函数与指针、数组与指针)

# 1. 函数与指针 一个函数在编译以后会占用一定的内存,在c语言中函数一般是在栈里面,而函数名就是函数在栈中的首地址。那么接下来会讲解如何通过指针调用函数呢?用指针调用函数我们称为函数指针,指针作为一种数据类型,它指向或引用内存中的数据,那么指针同样可以用来存储函数地址(起始地址),从而可以通过指 ......
指针 数组 函数 语言

浅谈 .NET 中的对象引用、非托管指针和托管指针

目录 前言 一、对象引用 二、值传递和引用传递 三、初识托管指针和非托管指针 四、非托管指针 1、非托管指针不能指向对象引用 2、类成员指针 五、托管指针 前言# 本文主要是以 C# 为例介绍 .NET 中的三种指针类型(本文不包含对于函数指针的介绍):对象引用、非托管指针 、托管指针。 学习是一个 ......
指针 对象 NET

【LeetCode双指针】合并两个有序数组,从后向前遍历

### 合并两个有序数组 https://leetcode.cn/problems/merge-sorted-array/ 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 ......
数组 指针 LeetCode 两个

StringPtr StringPtrs 字符串指针 字符串指针切片

func BoolPtr(v bool) *bool { return &v } func StringPtr(v string) *string { return &v } func StringPtrs(vals []string) []*string { ptrs := make([]*str ......
字符串 指针 字符 StringPtrs StringPtr

关于函数指针的一些问题小结

最近接到一个需求,使用 sdk 提供的消息回调,一般我们是继承 sdk 的消息类,然后 sdk 的消息回调(虚函数)会在有消息的时候调用回调指针,从而触发回调 不过因为 sdk 那边又对该消息类二次封装了并提供了一些接口,所以在研究二次封装的方法时,遇到了一些有意思的问题,故记录下 typedef ......
小结 指针 函数 问题

leetcode2390双指针一个指针写一个指针读

while(scan<s.size()){ if(s[scan]== '*'){ write==0?write:write--; scan++; continue; } s[write++]=s[scan++]; return s.substr(0,write); } ......
指针 leetcode 2390

力扣第209题(双指针)

209. 长度最小的子数组 - 力扣(LeetCode) 我的思路: 固定起始位置,移动终止位置,将起始位置和终止位置之间的元素进行加和。直到满足条件就停止移动终止位置。这个时候将起始位置向前移动一个距离,然后将终止位置重新移回更新后的起始位置上。这样做的问题是会带来重复的操作。 比如一个数组中的元 ......
指针 209

c++ 智能指针

### 智能指针 + 智能指针式为了解决手动管理动态分配内存的问题,使用RAII(资源获取即初始化)原则,通过在对象的构造函数中分配内存,并在对象的析构函数中释放内存,从而保证资源的正确释放,避免了内存泄漏 **std::unique_ptr** + 管理独占所有权的对象指针,保证在其周期结束时释放 ......
指针 智能

0x05 Go 指针

1. 基本数据类型,变量存的是一个值,基本数据类型也叫做值类型。 2. 获取变量的内存地址,我们可以使用 `&` 符号,例如: ```go var num int = 10 fmt.Println("num =", &num) ``` ```shell # clover @ MacBook-Pro ......
指针 0x05 x05 0x 05

Java开发常出错5颗星——空指针和异常

# 常犯指数5颗星 ### 空指针 #### 空指针概念及样例 - 什么是空指针(java.lang.NullPointExcetion)? 空:内存地址 指针:引用 异常: 运行时 ![image-20230610215624459](https://img2023.cnblogs.com/blo ......
指针 Java