C++学习之旅 - 指针

文章目录

      • 指针的基本概念
      • 指针的定义与使用
      • 指针占用的内存空间
      • 空指针
      • 野指针
      • cont修饰指针
      • 指针&数组
        • 访问数组中第一个元素(访问&指针)
        • 如何访问数组中的第二个字节
      • 指针和函数

指针的基本概念

指针的作用: 可以通过指针间接访问内存

  • 内存编号是从0开始记录的,一般用十六进制数字表示
  • 可以利用指针变量保存地址

指针的定义与使用

指针的语法数据类型* 指针变量名

#include <iostream>
#include "name.h"using namespace std;int main(void) {int a = 10;//定义指针int* p;//让指针记录变量a的地址p = &a;cout << "a的地址:" << &a << endl;cout << "p=" << p << endl;return 0;
}

在这里插入图片描述

指针占用的内存空间

#include <iostream>using namespace std;int main(void) {cout << "sizeof (int *):" << sizeof(int *) << endl;cout << "sizeof (float *):" << sizeof(float*) << endl;cout << "sizeof (double *):" << sizeof(double*) << endl;cout << "sizeof (char *):" << sizeof(char*) << endl;return 0;

在这里插入图片描述

我这里是8个字节的原因是我是64位电脑
在这里插入图片描述
你可以在VSstudio中更改
在这里插入图片描述
所以指针占用的空间都一致

空指针

指针变量指向内存中编号为0的空间

用途: 初始化我们的指针变量

注意: 空指针指向的内存是不可以访问的

//有异常
#include <iostream>using namespace std;int main(void) {int* p = NULL;*p = 100;return 0;
}

野指针

#include <iostream>
#include "name.h"using namespace std;int main(void) {int* p = (int*)0x1100;cout << *p << endl;return 0;
}

在这里插入图片描述

在程序中尽量避免出现这种野指针。

野指针就是随便指向一块非法的内存空间,直接引用

空指针和野指针都不是我们自己申请的空间,不要随便访问

cont修饰指针

  1. const修饰指针(常量指针)
int a = 10;
const int *p = &a

常量指针特点: 指针的指向可以修改,但是指针指向的值不可以修改(p可以指向b但是b的值一定是10)

/*错误的
int a = 10;
const int *p = &a;
a = 20;
*/
int a = 20;
const int *p = &a;
  1. const修饰常量(指针常量)
int a = 20;
int* const p = &a;//指针常量

指针常量和常量指针特点相反:指针指向的值可以改变,但是指针的指向不能改变

  1. const即修饰指针又修饰常量
int a = 30;
const int* const p = &a;

这个特点是指针指向的值和指针的指向都不可以进行改变

指针&数组

目的: 利用指针也可以访问数组中的每一个元素

数组: 一块连续的空间中存放了相同类型的数据元素

int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

访问数组中第一个元素(访问&指针)

#include <iostream>using namespace std;int main(void) {int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };cout << "第一个元素为:" << arr[0] << endl;int* p = arr;//arr就是数组首地址cout << "利用指针访问第一个元素:" << *p << endl;}

在这里插入图片描述

如何访问数组中的第二个字节

上面写过的访问第一个数据的基础上移动4位(32位操作系统)或8位(64位操作系统)

#include <iostream>using namespace std;int main(void) {int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };cout << "第一个元素为:" << arr[0] << endl;int* p = arr;//arr就是数组首地址cout << "利用指针访问第一个元素:" << *p << endl;p++;cout << "利用指针访问第二个元素:" << *p << endl;}

指针和函数

环境: 指针是形参

#include <iostream>using namespace std;void swap01(int a,int b) {int temp = a;a = b;b = temp;cout << "swap a=" << a <<endl;cout << "swap b=" << b <<endl;
}int main(void) {int a = 10;int b = 20;swap01(a, b);cout << "a=" << a <<endl;cout << "b=" << b <<endl;}

以上代码就是之前的值传递(形参影响不到实参)

#include <iostream>using namespace std;void swap02(int* a, int* b) {int temp = *p1;*p1 = *p2;*p2 = temp;cout << "swap p1=" << *p1 << endl;cout << "swap p2=" << *p2 << endl;
}int main(void) {int a = 10;int b = 20;swap02(&a, &b);cout << "a=" << a << endl;cout << "b=" << b << endl;}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350934.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

linux find命令格式及find命令详解

本文详细介绍了linux find命令格式及find命令案例&#xff0c;希望对您的学习有所帮助。1、find命令的一般形式为&#xff1b; find pathname -options [-print -exec -ok ...]2、find命令的参数&#xff1b; pathname: find命令所查找的目录路径。例如用.来表示当前目录&#…

app渗透-常见问题及绕过

app渗透-常见问题及绕过 6.app常见问题和绕过前言6.1反代理操作前言6.1.1判断6.1.2实例演示-探探6.1.3绕过1-r0capture6.1.4绕过2-proxifier6.1.5绕过3-小黄鸟 6.2证书校验前言6.2.1判断6.2.2浏览器校验和解决6.2.3桡过证书单项校验-xp框架6.2.3绕过证书双向校验 6.app常见问题…

findIndex的使用

1. findIndex:没有符合条件的元素返回-1 2. 当findIndex符合元素的条件时会返回元素的索引位置 eg:权限管理中查找item中的每一项对数据中存在的某项固定存在的值进行对比。 代码&#xff1a;

Linux下使用find命令查找文件

0、find 命令&#xff0c;查找目录下以2022开头的文件 find / -name "2022*" 1、find 命令&#xff0c;查找类型为文件并且文件名称以2022开头的文件 find . -type f -name "2022*" 2、find命令统计查找出来的文件总数量 find . -type f -name "…

Linux find命令详解

基础打印操作 find命令默认接的命令是-print&#xff0c;它默认以\n将找到的文件分隔。可以使用-print0来使用\0分隔&#xff0c;这样就不会分行了。但是一定要注意&#xff0c;-print0针对的是\n转\0&#xff0c;如果查找的文件名本身就含有空格&#xff0c;则find后-print0仍…

find()和findIndex()函数详解

今天我在拿数组中的存在的某一项索引时&#xff0c;我用了filter()&#xff0c;结果折腾了半天还是没求出索引&#xff0c;结果询问同事&#xff0c;他说你直接用findIndex()就可以了&#xff0c;一语点醒梦中人&#xff0c;可能平时ES6的这些函数用的少&#xff0c;根本就想不…

linux find -size参数,Linux find 常用命令

Linux find 常用命令 (2012-10-24 11:32:52) 标签&#xff1a; linux shell 说明&#xff1a; 以下内容&#xff0c;若标注在 [ ] 中括号内的均可省略&#xff0c;除非做特别说明。 但严格来说&#xff0c;若缺少 [ ] 中括号内的内容&#xff0c;在命令呈现的语义和返回结果上&…

二、linux find命令详解

目录 2. find【擅长在目录下找文件】 2.1 常用查询选项option 2.1.1 -name&#xff1a;根据名称匹配 2.1.2 -iname&#xff1a;忽略文件名称大小写 2.1.3 -user&#xff1a;根据所属用户组进行查询 2.1.4 -type&#xff1a;根据文件类型进行查找 2.1.5 -size&#xff1a;根据…

Linux的find命令

find 查找命令 -name 查找某个文件&#xff0c;文件名为name 例如&#xff1a; find /etc/ -name passwd 查找/etc/目录下名为passwd的文件并输出 find /etc -name *.conf 查找/etc/目录下所有以.conf结尾的文件 -user name 查找某个文件所有人为use…

Linux 命令----find:查找指定的文件

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

Linux下find命令详解

find命令格式&#xff1a; find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】 find命令的参数&#xff1a; 1&#xff09;path&#xff1a;要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 2&…

LinuxFinal

综合实验 tomcat下载安装 Apache Tomcat - Apache Tomcat 8 Software Downloads 进入上方链接下载tomcat&#xff0c;并上传至服务器。 mkdir /usr/local/tomcat8 # 创建tomcat文件夹 cd /usr/local/tomcat8 # 进入此目录&#xff0c;上传tomcat压缩包 tar -zxvf apache-tom…

Linux文件查找find

目录 前言 查找命令 命令演示 1.which&#xff1a;命令查找 2.locate命令 3.find命令&#xff08;主要使用这个命令进行查找文件&#xff09; 1&#xff09;语法 2&#xff09;find的用法介绍 按文件名查找 手动写入指定大小数据到文件内&#xff0c;介绍一下dd命令。…

Linux下的find指令

一、概述&#xff1a; 因为Linux下面一切皆文件&#xff0c;经常需要搜索某些文件来编写&#xff0c;所以对于linux来说find是一条很重要的命令。linux下面的find指令用于在目录结构中搜索文件&#xff0c;并执行指定的操作。它提供了相当多的查找条件&#xff0c;功能很强大。…

linux万能查询命令——find命令

find命令用来寻找文件或目录&#xff0c;功能非常强大&#xff0c;可以在查找到的文件上去执行命令&#xff0c;准确查找&#xff0c;遍历整个目录下的所有文件&#xff0c;可以对查询到的文件进行指定的动作&#xff0c;即查看、删除、移动等操作。 目录 1、常用查找命令 2…

linux find命令

一、find命令语法格式&#xff1a; find [路径] [选项] [操作] 选项参数对照表&#xff1a; 三、常用选项 -name  查找 /etc 目录下以 conf 结尾的文件&#xff0c;文件名区分大小写&#xff0c;例如&#xff1a;find /etc -name *.conf -iname 查找当前目录下所有文件名…

Linux - find命令详解

一、作用 find是搜索匹配条件的文件。 二、语法 用法&#xff1a;find[PATH][option][-print] PATH:目录路径&#xff0c;也可以使用“/ 根目录” option参数&#xff1a;   -name filename #查找名为filename的文件   -perm #按执行权限来查找   -user username #按文…

Linux中find命令用法大全

Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用&#xff0c;您可以通过权限&#xff0c;用户&#xff0c;组&#xff0c;文件类型&#xff0c;日期&#xff0c;大小…

Linux命令之find命令

一、命令简介 Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时&#xff0c;不设置任何参数&#xff0c;则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find 命令有非常…

Linux命令之查找文件find

概述 find 命令可以在目录层次结构中搜索符合指定条件的文件或目录&#xff0c;并且可以它们执行指定的操作。而搜索条件可以是文件权限、文件类型、日期、大小等。 语法 该命令的语法如下&#xff1a; # find 命令从指定的起始目录开始&#xff0c;递归地搜索其各个子目录&…