提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、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;
}
总结
以上的内容为大家简单的介绍了指针的基本知识,希望大家对于指针的概念有了一个简单的了解,指针的内容较多且理解起来相对困难,希望大家继续坚持。