1、指针也是一种变量,占用空间内存,用来保存内存地址。所以无论指向何种数据类型的指针,编译器都给指针类型分配固定的内存空间如果说是32位那就都分配4个字节,如果是64位那就都分配8个字节。

//32位计算机
typedef struct _Person{char name[30];int age;
}Person;char * a;
char * b[100];
int * c;
double * d;
Person * p;//这些指针全部分配4个字节(32bit)大小的内存。

2、*号 操作内存

指针在声明的时候,* 号表示所声明的变量是指针。

在使用指针的时候,* 号表示操作指针所指向的内存空降的值。这时候*号通过p的值找到一块儿内存,然后进行操作,或取出内存块儿中的数据,或改变内存块儿中的数据。*p=是给内存块赋值;=*p是取出内存块中的数据。

3、指针变量和它指向的内存块是两个不同的概念。

(1)p=p+1,只会改变p的值,不会改变p没有加1之前指向的内存空间的值。

(2)*p=20,不会改变p的值,只会改变p指向的内存空间的值。

4、指针是一种数据类型,和它指向的内存空间的数据类型所占用大小一致。

理解就p++动作的步长来说,如果 double * p;p++的步长为8,如果int *p,p++的步长为4.

指针存在的意义:通过指针来改变变量(变量的本质是某一块内存空间的别名)的值,即改变内存空间的值。

C语言中的指针,指针存在的意义相关推荐

  1. C语言和C++语言中的泛型指针

    C语言和C++语言中的泛型指针 首次,在说泛型指针之前,先说说特定指针,特定指针,顾名思义,就是有明确的类型的指针,如:int * ,char * ,float * ,short* ,student* ...

  2. C语言中函数和指针的參数传递

    C语言中函数和指针的參数传递 近期写二叉树的数据结构实验.想用一个没有返回值的函数来创建一个树,发现这个树就是建立不起来,那么我就用这个样例讨论一下c语言中指针作为形參的函数中传递中隐藏的东西. 大家 ...

  3. C语言中的函数指针、函数的直接/间接调用、C# 委托(自定义委托、内置泛型委托、委托的实例化、委托的一般使用(模板方法、回调方法)、泛型委托、多播委托、同步/异步使用委托)

    文章目录 C语言中的函数指针 函数的直接调用与间接调用 Java中没有与委托对应的功能实体 C# 委托 C# 自定义委托类型 C# 内置泛型委托类型 委托的实例化 委托也支持泛型的使用 委托的一般使用 ...

  4. c语言如何用指针操作一维字符数组,C语言中数组和指针的互操作

    C是一种怀旧的语言,因为它的历史很久远,然而自从各种面向对象的编程语言的相续出现让它的影响力日减.当然了,这是无可非议的,但是C的高效性是其他语言无妨比拟的,所以我们有必要把握其中的精华与奥妙,也就有 ...

  5. C语言中的野指针问题

    C语言中的野指针问题 一.野指针 1.指针变量中的值是非法内存地址,进而形成野指针 2.野指针不是NULL指针,是指向不可用内存地址的指针 3.NULL指针并无危害,很好判断,也很好调试 4.C语言中 ...

  6. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  7. C语言中的二级指针和二维数组问题

    关于二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组 首先来看看二维数组在内存中是如何组织的呢? 一维数组 T arr1 = new T[9]  二维数组T arr2 = new T[ ...

  8. c语言用什么能暂存结构指针,c语言中什么是指针

    指针一般指向一个函数或一个变量.在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的函数的值. 在计算机语言中,由于通过地址能找到所需的变量单元,可以说,地址指 ...

  9. c语言中转向的指针,C语言指针碎碎念

    一个变量的地址称为该变量的指针. 一个变量专门用来存放另一个变量的地址(即指针),则称这个变量为指针变量. 指针和指针变量是两个截然不同的概念. int i = 3 :而且 i 被存储在内容的 200 ...

  10. c语言指针常量和常量指针,详解C语言中的常量指针和指针常量

    概述对于新手来说,指针在c语言里总是一个非常难以理解的概念.在这篇文章中,我们将解释常量指针,指针常量,const pointer to const(ps:楼主以为这可以翻译成指向常量的常量指针)的区 ...

最新文章

  1. web服务器tornada,flask问题
  2. Android——Intent动作汇总(转)
  3. Zookeeper是什么?
  4. crf java实现_Tensorflow实现crf损失
  5. PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——Modern AI骨架脉络
  6. SpringMVC的请求-文件上传-客户端表单实现
  7. 如何分辨 SAP Fiori Launchpad 里的真假 Fiori 应用
  8. 【知识图谱】BERT meet KG 第二弹:新训练方式,新问题视角
  9. [1-7] 把时间当做朋友(李笑来)Chapter 7 【从此时此刻开始改变】 摘录
  10. 【spring源码分析】spring中类型转换器详解
  11. java fop_java – Apache FOP使用SimSun显示###
  12. CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
  13. 网易涉暴力裁员引众怒 5大争议背后是否违法?
  14. Android和iOS人才招聘出现拐点 低能人才泛滥
  15. 用python制作3d动图_怎样用Python制作好玩的GIF动图
  16. linux主分区和逻辑分区
  17. Maven安装配置详细教程
  18. 集体智慧编程——垃圾邮件过滤器(贝叶斯)-Python实现
  19. LoRaWAN介绍13 SX1301
  20. 奥的斯电梯服务器自动呼梯,奥的斯外呼电梯控制系统说明

热门文章

  1. ModuleNotFoundError: No module named ‘pip‘;ERROR: Could not find a version that satisfies the requir
  2. 一文讲解Linux 内核网络协议栈-数据从接收到ip层
  3. 读John Stuart Mill的《功利主义》
  4. 电子元器件贸易企业如何借助ERP系统,解决仓库管理难题?
  5. python 构件二维数组_通过这四个构件块来升级您的javascript数组
  6. 新闻 华为 鸿蒙,华为鸿蒙系统或6月正式推送升级,手机版已开始小范围推送
  7. LabVIEW 将图表数据导出到Excel
  8. java.lang.NoClassDefFoundError: com.unionpay.sdk.UPAgent银联开发
  9. 易中天品汉代风云人物05:韩信被杀之谜
  10. Scrapy爬虫实践之搜索并获取前程无忧职位信息(基础篇)