C语言-指针(上)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

本篇文章将为大家介绍C语言中的核心内容-指针,指针在C语言的中知识内容比较晦涩难懂,并且在实际运用中也被大量的使用。还有在深入学习编程中会学习的数据结构中,指针也是其相当重要的。所以,在C语言中指针是必不可少的。


提示:以下是本篇文章正文内容,下面案例可供参考

一、内存和地址

1.内存

内存像是排列整齐的房间,每个房间都可以用来存储数据,每个房间都有一个房间号来帮助我们找到对应的房间。

我们都知道计算机在进行数据处理时,数据都是要从内存中读取的,而计算机的内存由bit组成,每个位由2进制0或1组成。

为了更高效的管理内存,通常许多位合成一组作为一个单位这些位置的每一个都被称为字节(byte),

(一个byte=八个bite)每个字节都包含了存储一个字符所需要的位数。为了存储更大的值,我们把两个或更多个字节合在一起作为一个更大的内存单位。

注意

1.内存中的每个位置由一个独一无二的地址标识。
2.内存中的每个位置都包含一个值。

2.地址

在计算机语言中我们把内存单元的编号称为地址

我们可以根据这个地址取找到对应的数值。

所以,在C语言中可以将地址理解为指针

二、指针

1.指针变量

指针变量可以存放地址

代码如下(示例):

#include<stdio.h>
int mian()
{int a = 10;int* p =&a;            //p是指针变量-存放地址的变量return 0;     
}    

2.指针理解

#include<stdio.h>
int mian()
{
int a = 10;

int* p =&a; 

int* p = 20;
return 0;
}

 *  是说明p是指针变量,

int  是说明p指向的对象是int类型的

3.指针大小

指针大小取决于存放的地址所需空间的大小。

在32位编译器下:地址是32个0/1的二进制序列,存储起来需要32个bit位,指针变量的大小就是4个字节。

在64位编译器下:地址是64个0/1的二进制序列,存储起来需要64个bit位,指针变量的大小就是8个字节。

注意:

指针变量的大小和类型是无关的,只要指针类型的变量,在相同的下,大小都是相同的。

结论:指针类型决定了指针进行解引用操作的时候访问多大的空间。

三、 *

* 是解引用操作符或者间接访问操作符

*p 是解引用操作

#include<stdio.h>
int mian()
{

int a = 10;

int* p =&a; 

int* p = 20;

return 0;
}

此时,*p等价于a

四、const

const修饰指针变量,有两种情况:

1.const放在*左边

const修饰*p:

不能p来改变p指向的对象,但p可以指向其他对象。

#include<stdio.h>
int mian()
{

const int a = 10;

int b = 20;

const int * p =&a; 

 p = &b;  //√

*p = 20;  //×

return 0;
}

2.const放在*右边

const修饰p:

不能修改p本身的值,但p指向的内容可以通过p来改变。

#include<stdio.h>
int mian()
{

const int a = 10;

int b = 20;

 int * const p =&a; 

 p = &b;  //×

*p = 20;  //√

return 0;
}


总结

以上的内容为大家简单的介绍了指针的基本知识,希望大家对于指针的概念有了一个简单的了解,指针的内容较多且理解起来相对困难,希望大家继续坚持。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解 JavaScript 中的数组

详解 JavaScript 中的数组 创建数组 注&#xff1a;在JS中的数组不要求元素的类型&#xff0c;元素类型可以一样&#xff0c;也可以不一样 1.使用 new 关键字创建 let array new Array()2.使用字面量方式创建(常用) let array1 [1,2,3,"4"]获取数组元素 使用下…

Python 教学平台,支持“多班教学”的课程授课方式|ModelWhale 版本更新

龙行龘龘、前程朤朤&#xff0c;ModelWhale 新一轮的版本更新&#xff0c;期待为大家带来更优质的使用体验。 本次更新中&#xff0c;ModelWhale 主要进行了以下功能迭代&#xff1a; 新增 课程&#xff08;包括课件、作业、算力&#xff09;按班级管理&#xff08;团队版✓ …

Linux笔记-1

概述 简介 Linux是现在服务器上最常用的操作系统(OS - Operating system) - 所谓的操作系统本质上也是一个软件&#xff0c;是一个可以运行其他软件的容器如果一台服务器&#xff0c;没有安装操作系统&#xff0c;此时称之为裸机。裸机可以使用&#xff0c;在使用的时候需要使…

TCP与UDP基础

思维导图&#xff1a; TCP&#xff1a; 服务器 #include<myhead.h> #define SER_IP "192.168.252.163" #define SER_PORT 6666 int main(int argc, const char *argv[]) {//&#xff11;、创建用于监听的套接字int sfd-1;sfdsocket(AF_INET,SOCK_STREAM,0);/…

泰迪智能科技企业数据挖掘平台使用场景

企业数据挖掘平台助力企业数据挖掘&#xff0c;数据挖掘平台也在多个领域发挥着重要的作用。 企业数据挖掘平台具有数据抓取、数据清洗、数据分析、机器学习等多项功能&#xff0c;广泛应用于企业的各个领域&#xff0c;包括&#xff1a;金融行业、医疗行业、交通领域、教育、制…

Java对象大小计算

概述 在实际应用中&#xff0c;尤其是在进行JVM调优时&#xff0c;理解并正确估计对象大小是非常重要的&#xff0c;因为这直接影响到内存分配、垃圾回收效率以及应用程序的整体性能。 对象的组成 在Java中&#xff0c;计算一个对象的大小是为了了解它在内存中占用的确切空间…

【洛谷 P9240】[蓝桥杯 2023 省 B] 冶炼金属 题解(二分答案)

[蓝桥杯 2023 省 B] 冶炼金属 题目描述 小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V V V&#xff0c; V V V 是一个正整数&#xff0c;这意味着消耗 V V V 个普通金属 O 恰好可以冶炼出一个特殊金属 X&#xff0c;当普…

聊聊 HTTP 性能优化

作为用户的我们在 "上网冲浪" 的时候总是希望快一点&#xff0c;尤其是抢演唱会门票的时候&#xff0c;但是现实并非如此&#xff0c;有时候我们会遇到页面加载缓慢、响应延迟的情况。 而 HTTP 协议作为互联网世界的基础&#xff0c;从网站打开速度到移动应用的响应…

P8538 「Wdoi-2」灵山之上神风起 题解

「Wdoi-2」灵山之上神风起 传送门 题目背景 在天狗记者射命丸文的指&#xff08;放&#xff09;引&#xff08;水&#xff09;之下&#xff0c;灵梦一行人找到了山中的神社。 “在妖怪之山上还真的存在其他的神社啊。”灵梦感慨道。她们看到了由树木建造的神社正殿&#xf…

备战蓝桥杯---状态压缩DP进阶题1

我们来看一看一道比较难的问题&#xff08;十分十分的巧妙&#xff09;&#xff1a; 显然我们应该一行一行放&#xff0c;又竖的会对下一行产生影响&#xff0c;我们令横着放为0&#xff0c;竖着放的上方为1. 对于下一行&#xff0c;前一行放1的下面为0&#xff0c;但是会出现…

Flink基本原理 + WebUI说明 + 常见问题分析

Flink 概述 Flink 是一个用于进行大规模数据处理的开源框架&#xff0c;它提供了一个流式的数据处理 API&#xff0c;支持多种编程语言和运行时环境。Flink 的核心优点包括&#xff1a; 低延迟&#xff1a;Flink 可以在毫秒级的时间内处理数据&#xff0c;提供了低延迟的数据…

靶机渗透之My File Server: 1

Name: My File Server: 1Date release: 21 Feb 2020Author: Akanksha Sachin VermaSeries: My File ServerDownload: https://drive.google.com/uc?id1w0grAomPuFaIohBcUwDiI3QIi4fj4kje&exportdownload 对于vulnhub中的靶机&#xff0c;我们都需先下载镜像&#xff0c;然…