【C 语言】指针数据类型 ( 指针类型变量 | 使用 * 操作内存 )
文章目录
- 一、指针类型变量
- 二、使用 * 操作内存
一、指针类型变量
指针 也是 变量 , 也占用内存空间 , 可以用于保存 内存地址 ;
测试 指针 变量占用的内存空间大小 : 定义一个 int *
指针类型变量 , 使用 sizeof
函数 获取该变量的大小 ;
代码示例 :
#include <stdio.h>
#include <stdlib.h>int main()
{int a = 8;// 声明指针类型变量int *p = 888;// 声明二级指针类型变量int **p2 = 8888;// 打印 变量 a , b 的地址printf("sizeof(a) = %d , sizeof(b) = %d, sizeof(p2) = %d\n",sizeof(a),sizeof(p),sizeof(p2));return 0;
}
执行结果 :
sizeof(a) = 4 , sizeof(b) = 4, sizeof(p2) = 4
二、使用 * 操作内存
使用 * 操作内存 :
声明指针 : 声明 指针 时 , *
表示声明的变量是指针变量 ;
使用指针 : 使用 指针 时 , *
表示操作 指针 指向的 内存空间 的数据 ;
操作内存 : *p
相当于 通过 指针地址 ( p
变量值 ) 找到对应内存首地址 , 根据数据类型大小操作 这块指定大小 的内存 ;
内存赋值 :
*p
放在等号左边 , 是给 内存 赋值 ;内存取值 :
*p
放在等号右边 , 是从 内存 取值 ;
*
符号相当于一把钥匙 , 通过该符号查找一个地址对应的内存 , 可以 访问 ( 读取 / 写出 ) 该内存中存储的数据 ;
代码示例 :
#include <stdio.h>
#include <stdlib.h>int main()
{int a = 8;// 声明指针类型变量int *p = &a;// 使用指针printf("*p = %d\n", *p);// 操作内存 / 给内存赋值*p = 88;// 操作内存 / 从内存中取值int b = *p;// 打印相关结果printf("*p = %d, b = %d\n", *p, b);return 0;
}
执行结果 :
*p = 8
*p = 88, b = 88
【C 语言】指针数据类型 ( 指针类型变量 | 使用 * 操作内存 )相关推荐
- 【C 语言】指针数据类型 ( 指针类型变量 与 指针指向的内存块 概念区别 | 指针赋值 | 指针运算 | 内存赋值 | 内存取值 | 内存修改注意事项 )
文章目录 一.指针类型变量 与 指针指向的内存块 概念区别 1.指针赋值 2.指针运算 3.内存赋值 4.内存取值 5.内存修改注意事项 一.指针类型变量 与 指针指向的内存块 概念区别 指针类型变量 ...
- 学点 C 语言(20): 数据类型 - 指针
1. 通过 &变量 可以获取变量地址: #include <stdio.h>int main(void) {int num = 10;printf("变量值: %d\n& ...
- MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接
MySQL连接退出命令 mysql –uroot -proot mysql –h127.0.0.1 –uroot -proot mysql --host=localhost --user=root - ...
- 【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
文章目录 一.指针数组 二.复杂指针解读 三.数组指针代码示例 一.指针数组 定义一个数组指针 : 数组中的 元素 是 指向 字符串的指针 , 即 每个数组元素 只有 4 字节 ; char *arr ...
- C语言复习:指针知识
指针知识体系搭建 指针强化 指针是一种数据类型 指针也是一种变量,占有内存空间,用来保存内存地址 测试指针变量占有内存空间大小:sizeof(指针名); 2)*p操作内存 在指针声明时,*号表示所声明 ...
- 【C 语言】二级指针 内存模型图 ( 指针数组 | 二维数组 | 自定义二级指针内存 )
文章目录 前言 一.指针数组 二.二维数组 三.自定义二维指针内存 前言 绘制如下 333 种二级指针的内存模型 : // I. 指针数组 char *p1 []= {"12", ...
- C 语言编程 — 高级数据类型 — 指针
目录 文章目录 目录 前文列表 指针 声明一个指针变量 使用指针 空指针 悬空指针 野指针 指针的算术运算 指向指针的指针 将指针作为实际参数传入函数 从函数返回指针 一个古老的笑话 前文列表 < ...
- C语言使用FILE指针文件操作
C语言使用FILE指针文件操作 文件的基本概念 所谓"文件"是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上我们已经多次使用了文件,例如源程序文件.目标文件.可 ...
- c语言节点有指针域数据域,学习心得:链表的操作(C语言实现)
今天将给大家讲述链表的学习心得.学习数据结构,毋庸置疑链表必须学好,后面的栈.队列.树.图都是以链表为基础的:链表的种类很多,有单链表.双链表.循环链表.非循环链表:在此,我们以非循环单链表为例,来讲 ...
最新文章
- 进阶:秒杀系统是如何设计的?
- 原生js封装二级城市下拉列表
- pytorch Dataset, DataLoader产生自定义的训练数据
- 一看就会——蓝桥杯 试题 基础练习 完美的代价——贪心法,21行代码AC
- cdi 2.7.5_集成测试CDI 1.0和Spring 3.1中的作用域bean
- PL/SQL第三课(学习笔记)
- Catlyst 6509告警信息--把trunk口配置成access
- 硬件开源产品_5种适合户外活动的开源硬件产品
- linux work有关的命令,VM workstation 中linux 命令
- 可视化动画:数据结构和算法
- NYNU_省赛选拔题(10)
- html 多标签页,html更多标签
- 原子访问、自旋锁、互斥锁、信号量
- git 版本控制库的用法及其介绍
- Tomcat 7 部署和配置
- 北京大学计算机系在线编程题库,北京大学acm试题题库及解答 完整版
- Scrapy 中文手册 0.25 文档
- 钱晓捷第五版习题4 题4.8 bufx bufy bufz 为三个有符号十六进制数编写一个比较相等关系的程序如果这三个数都不相等则显示0,其中两个相等显示1 ,三个都相等则显示2
- cf最低要求配置2021是什么
- 4p营销组合策略案例_营销组合策略的4P讲解