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

C语言| 指针变量的定义

C语言| 指针的优点-CSDN博客

* 表示“指向”,为了说明指针变量和它所指向的变量之间的联系。
int * i;//表示指针变量i里面存放的地址,所指向的存储单元里的【数据】。

【指针变量的定义】

C语言规定所有变量,在使用前必须先定义,指定其类型,并按此分配内存单元。

指针变量,是专门用来存放地址的,所以定义为“指针类型”。

[指针变量定义的一般形式]

基类型 * 指针变量名;

举例:int *a;   float *b; //定义了指针变量a和b。

1) 看到 * ,要清楚它是指针类型,变量名为 * 后面的内容。

2) “基类型”,用来指定该指针变量,可以指向的变量的类型。

表示指针变量里面所存放的“变量的地址”,所指向的变量的类型。

3)int *a; 

i. 定义了一个指针变量a,只能存放int 型变量地址。

ii. 没有初始化,表示此时指针变量a,没有指向任何一个变量。

iii. 变量a的数据类型是[ int * ]型,是存放int变量地址的类型,int称为基类型。

4) 不同类型的数据,在内存中所占的字节数是不同的。每个字节都有一个地址,指针变量指向的是第一个地址(首地址)。int 占4字节,有四个地址。通过所指向变量的首地址+该变量类型,就能直到该变量的所有信息。

5) 指针变量==变量,指针变量本身就是有地址的。

[指针变量本身的地址]:系统为指针变量分配的地址。

[指针变量的内容]:指针变量里面存放的另一个变量的地址。

6) 地址是可以进行运算的,后面会学指针的运算&移动。

i. 指针的移动

举例:int *a;  使指针向后移动1个位置==移动4字节,或者,使指针加1==地址加4.

指针变量的基类型,占几字节,这个1就代表几。

ii. 指针的运算

两个指针变量相减的结果,是一个常量,是这两个地址之间元素的个数,而不是地址的个数。

举例:int * a;  //如果两个指针变量相减,相差4个地址,就是1个int 元素,结果就是1。

【程序代码】

#include <stdio.h>

int main(void)
{
    int *a, *b; 
    int JG; //存放两个地址数相减的结果

    int c = 10, d = 11;

    a = &c;
    b = &d;
    JG = a-b;

    printf(" a = %d\n b = %d\n JG = %d\n", a, b, JG);

    return 0;
}

http://www.lryc.cn/news/2378493.html

相关文章:

  • HTML 中的 input 标签详解
  • Python 在自动驾驶数据标签中的应用:如何让 AI 读懂道路?
  • 微信小程序之按钮短时间内被多次点击问题
  • 动态规划(3)学习方法论:构建思维模型
  • 两个电机由同一个控制器控制,其中一个电机发生堵转时,另一个电机的电流会变大,是发生了倒灌现象吗?电流倒灌产生的机理是什么?
  • Java 方法向 Redis 里操作字符串有什么需要注意的?​
  • ECMAScript 2018(ES2018):异步编程与正则表达式的深度进化
  • IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
  • 从零开始认识 Node.js:异步非阻塞的魅力
  • 【C语言练习】046. 编写插入排序算法
  • 【论文阅读】BEVFormer
  • IDEA编辑器设置的导出导入
  • 手动实现 Transformer 模型
  • 成功案例丨从草图到鞍座:用先进的发泡成型仿真技术变革鞍座制造
  • BG开发者日志517:demo数据分析与修改方向
  • Linux靶机网站配置:从零搭建Web靶场环境
  • 电机试验平台:创新科技推动电动机研究发展
  • STM32F103定时器1每毫秒中断一次
  • 【springcloud学习(dalston.sr1)】Zuul路由访问映射规则配置及使用(含源代码)(十二)
  • Qt与Hid设备通信
  • 2024 山东省ccpc省赛
  • SAP HCM 0008数据存储逻辑
  • Elasticsearch 查询与过滤(Query vs. Filter)面试题
  • golang读、写、复制、创建目录、删除、重命名,文件方法总结
  • 如何使用通义灵码辅助学习C++编程 - AI编程助手提升效率
  • 解决LeetCode 47. 全排列 II 问题的正确姿势:深入分析剪枝与状态跟踪
  • ubuntu18 设置静态ip
  • 【Docker】CentOS 8.2 安装Docker教程
  • K230 ISP:一种新的白平衡标定方法
  • 桃芯ingchips——windows HID键盘例程无法同时连接两个,但是安卓手机可以的问题