指针专题1-8(一)

本文详细介绍了C语言指针的基本用法,包括指针的概念、动态内存分配、指针与函数参数、指针变量的声明与理解、指针运算及与数组的关系。还探讨了指针在不同场景下的应用,如指向变量、数组和二维数组的操作,以及指针运算的本质和注意事项。
摘要由CSDN通过智能技术生成

一.掌握指针的基本用法

1.1使用指针之后程序简洁高效

1.2 有效表示复杂的数据结构

1.3动态分配内存

1.4 被调用的函数有非常多的信息要返回,需要通过指针

1.5开始学习指针 什么叫指针? 内存以字节为单位开始编号,称之为地址 1Byte=8 bit

如果要显示地址的话,short 是占两个字节,&i就是取i的地址,起始地址是2000,结束地址是2001

要想往内存空间中存储数据,就得先要有一个变量

二.指针的基本用法二

2.1指针和指针变量理解

2.2指针变量的一般形式

<存储类型> <数据类型> *<指针变量名>

例: auto int * p

int 是指内存单元的存储的内容是int 型

内存单元的编号是p

2.3理解说明

int a=20; //a里面存放的是整数

int *p; // p存放的是地址

怎么把a和地址产生关系呢?换句话说,p存的是谁的地址呢?

那么就有了p=&a

总的来说就是 两步

int a=20;

int *p=&a;

2.4

int a=10; int *p; p=&a;

如下图所示,a变量里面存储的是10(电脑中存的是补码,0101的这种形式),占了四个存储单元,起始地址是0xbf98c768

0xbf98c768是8位的16进制

那么&p是就是取指针变量p的地址,这边是0xbf3be5c,那么这个地址里面存的就是变量a的地址

  变量与指针的关系,指针里头存储的是变量的地址,比如int 型的变量,占据4个字节,但是指针也要占据空间(0xbf98c768)本身是一个8位16进制数,一位16进制数是4位2进制,8位16进制数,一共就是32位,8位为一个字节,则一共四个字节,图中写在了一个格子里0xbf98c768这个数字占据的是0xbf3be5c,0xbf3be5d,0xbf3be5e,0xbf3be5f这个格子,也就是四个字节里,实际上则这个指针里头所存的内容就是变量的起始地址(首地址)10,就是上图这个指向关系
指针总是指向变量第一个字节的地址,即变量的首地址。

三.指针的基本用法三

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值