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

C语言学习笔记day18

1. 指针基本概念

    1.地址:用来区分内存中不同字节的编号
    2.指针:地址就是指针,指针就是地址
    3.指针变量:存储指针的变量,有时去掉变量,称为指针

2. 指针运算符

    1.&:
        1.获得一个变量在内存空间中的首地址
        2.让表达式类型升级 
    2.*:
        1.取指针指向空间中的值(所取空间大小取决于指针类型)
        2.将等号右边的值放入指针指向的空间
        3.让表达式类型降级 
        
    二级指针在C语言中2个地方使用:
        1.函数体内部想修改函数体外部指针变量值的时候,传指针变量的地址也就是二级指针
        2.指针数组传参时,数组的数组名是指向数组第一个指针元素的指针,也就是二级指针

3. 指针的算数运算

    +    指针偏移量为指向的数据类型大小个字节空间
    -    
    ++
    --    
        int *:                4
        char *:             1
        double *:            8
        struct student*:    44
        int **:                8

4. void指针

    void a;
    void *p;
    
    void指针常用来存储内存地址
    1.void类型指针不要使用* ++ --相关操作
    
    void *型指针和其余类型指针的转换
    void * -> char *        不需要做强制类型转换
              double *
              int * 
    char *   -> void *      需要类型转换(舍弃精度)
    double *
    int *
    
    主要用在作为函数参数,或者函数返回值表示兼容所有类型指针

    将内存地址为0x2000的空间赋值一个整形100 
    (*(int *)((void *)0x2000)) = 100;

5. const指针

    1.const int *p;
    2.int const *p;
    3.int *const p;
    4.const int *const p;
    5.int const *const p;
    
    1和2是等价的
    p可以改变,*p不可以改变
    p可以指向任意空间,但无法利用p修改指针空间的值
    
    3
    p不能改变,*p可以改变
    p只能指向初始化时的空间,无法指向其余空间,但可以利用指针修改指向空间的值
    注意:必须初始化 
    
    数组的数组名 
    
    4和5是等价的
    p不能改变, *p不能改变 
    注意:必须初始化

6. 指针数组和数组指针

    指针数组:
    int *a[5];
    定义一个数组,数组有5个元素,每个元素8个字节,共40个字节,每个元素都是指向
    整形变量的指针
    
    char *pstr[5];

    存储字符串数组使用二维数组
    操作字符串数组使用指针数组 

相关文章:

C语言学习笔记day18

1. 指针基本概念 1.地址:用来区分内存中不同字节的编号 2.指针:地址就是指针,指针就是地址 3.指针变量:存储指针的变量,有时去掉变量,称为指针 2. 指针运算符 1.&: 1.获得一个变量在内存空间中的首地址 2.让表达式类型升级 2.*: 1.取…...

JSP内置对象session

1.session对象,为会话对象,封装当前用户会话中的有关信息。 网页数据传递是单向传递的,session能够将数据进行多个数据互相传递,使用的是同一个东西 实例1: 利用session对象String getId() 方法获取当前session对象…...

BM96 主持人调度(二)(贪心算法)

一开始写的时候忘了给start、end数组赋值了 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 计算成功举办活动需要多少名主持人* param n int整型 有n个活动* param start…...

【TB作品】MSP430单片机读取大气压强传感器BMP180

文章目录 实物main所有代码 实物 main #include <msp430.h> #include "stdio.h" #include "OLED.h"#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h>// P2.2 oled scl // P2.3 oled sda// p…...

Github第一Star数的国产免费开源防火墙--雷池社区版初步体验

前言 近期准备搭建一个博客网站&#xff0c;用来存储工作室同学们的学习笔记。服务器准备直接放在公网上&#xff0c;方便大家随时随地的上传和浏览&#xff0c;为了防止网站被人日穿成为肉鸡&#xff0c;一些防御措施还是要部署的。 首先明确自己的需求&#xff1a; 零成本…...

自动驾驶涉及相关的技术

自动驾驶涉及多种技术&#xff0c;包括传感器、数据处理、决策制定和执行控制等方面。以下是一些关键技术的详细说明&#xff1a; 传感器技术&#xff1a; 激光雷达&#xff08;LiDAR&#xff09;&#xff1a;激光雷达通过发射激光束并测量其反射时间来获取周围环境的高精度三维…...

简单高效的GO发票识别+发票查验接口

在这个瞬息万变的商业世界里&#xff0c;商业欺诈如影随形&#xff0c;虚假发票成为企业难以忽视的风险。而发票作为每笔交易的重要凭证&#xff0c;对其进行入账前的真伪查验显得尤为重要。但面对海量的发票查验与发票录入工作&#xff0c;人工手动查验的方式&#xff0c;速度…...

c++和python基本数据类型比较

以下是 C 和 Python 中一些基本数据类型的比较&#xff1a; 1. 整数类型&#xff1a; C&#xff1a; C 中的整数类型包括 int, short, long, long long 等&#xff0c;它们的大小和范围取决于编译器和操作系统。 Python&#xff1a; Python 中只有一个整数类型 int&#xff0…...

运维工具如此割裂,九招帮你统一纳管

背景 在运维工具这个江湖中&#xff0c;出现了众多独行侠客&#xff0c;各怀绝技&#xff0c;各自为战。这些开源监控软件如同武林中的各派门派&#xff1a;SkyWalking 以精湛的追踪功夫独步武林&#xff1b;Prometheus 以灵活的告警机制纵横江湖&#xff1b;ELK 则如同黯然销…...

基于springboot的大创管理系统源码数据库

基于springboot的大创管理系统源码数据库 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大创管理系统的开发全过程。通过分析大创管理系统管理的不足&#xff0c;创建了一个计算机管理大创管理系统的方案。…...

解密辛普森悖论:如何在数据分析中保持清醒头脑

解密辛普森悖论&#xff1a;如何在数据分析中保持清醒头脑 之前也参加fine Bi的 培训&#xff0c;学到了辛普森悖论&#xff0c;今天为大家介绍一下 文章目录 解密辛普森悖论&#xff1a;如何在数据分析中保持清醒头脑前言我们来举一个例子数据分析解释管理应用的启示 前言 什…...

Vue前端框架

1.vue基本使用1 1.vue环境搭建 一般创建vue项目是在cmd命令中用&#xff1a;vue ui 命令&#xff0c;采用ui图形界面的方式直观创建项目。 2.vue基本使用方式&#xff1a;vue组件 3.文本插值 4.属性绑定 5.事件绑定 6.双向绑定 7.条件渲染 2.vue基本使用2 1.axios 安装axios命令…...

【随笔】Git 基础篇 -- 远程仓库 git clone(二十五)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…...

在js中如果a的值是空是不是if(表达式的值是false)?

在JavaScript中&#xff0c;一个变量的“空”值可以有多种含义&#xff0c;具体取决于该变量的类型和内容。对于if语句中的条件表达式&#xff0c;其值会被隐式地转换为布尔值。以下是JavaScript中常见的“空”值以及它们在布尔上下文中的行为&#xff1a; null&#xff1a;在…...

数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成

数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成 目录 数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成生成效果基本描述模型描述程序设计参考资料 生成效果 基本描述 1.Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成&#xf…...

HarmonyOS开发:【NFC配置流程】

一、简介 碰一碰是HarmonyOS具备的多终端业务协同技术。其依托NFC短距通信协议&#xff0c;通过碰一碰的交互方式&#xff0c;将手机和全场景设备连接起来。然后通过手机端的原子化服务能力&#xff0c;快速完成配网、远程控制的能力&#xff0c;解决了应用与设备之间接续慢、…...

解决JQuery和其他库的冲突

文章目录 1.使用 noConflict() 方法&#xff1a;2.使用 IIFE&#xff08;立即调用函数表达式&#xff09;&#xff1a;3.加载顺序&#xff1a;4.使用命名空间&#xff1a;5.使用 jQuery Migrate 插件&#xff1a; 1.使用 noConflict() 方法&#xff1a; 这是最常见和简单的解决…...

【Linux】在 Linux 上模拟网络故障

文章目录 模拟网络丢包模拟网络延迟、抖动模拟网络包重复模拟网络带宽受限模拟网络错误模拟网络乱序配合 cgroup 进行进程级带宽限制重置网络清空所有规则 模拟网络丢包 # 在eth0网络接口上替换排队规则&#xff0c;应用netem规则来模拟30%的数据包丢失 tc qdisc replace dev …...

腾讯云流量怎么计算的?轻量服务器流量价格表

腾讯云轻量应用服务器套餐带流量包&#xff0c;就是有月流量限制的意思&#xff0c;超出轻量套餐的流量需要另外支付流量费&#xff0c;轻量服务器地域不同超额流量费用也不同&#xff0c;北京上海广州等中国内地地域流量价格是0.8元每GB&#xff0c;中国香港地域流量价格是1元…...

解决Maven Clean过程因内存溢出导致的“Process terminated”问题

正文&#xff1a; 在今天的开发过程中&#xff0c;我遇到了一个意料之外的问题&#xff0c;当我尝试使用 Maven 进行项目清理&#xff08;maven clean&#xff09;时&#xff0c;命令行反馈了一个错误信息&#xff1a;“Process terminated”。经过一番排查&#xff0c;发现问…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好&#xff0c;我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题&#xff0c;统一使用 二重复合函数&#xff1a; z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式&#xff08;偏导…...