不懂指针类型,7个例子给你讲明白

1. int va;

这是一个整型变量,32位CPU的话,占有32个bite

2. int *va;

这是一个整型指针变量,用于存放一个整型变量的地址,

3. int **va;

这是一个整型的二级指针,用于存放一个内存的地址,该地址对应的内存中存放了另一个整型变量的地址

比如:

int va=0x12345678; 
int *pva = &va;int **ppva = &pva;

4. int *va[3]

这是一个数组,该数组里面的成员是整型的指针,分别指向int型的内存

5. int (*va)[3]

这是一个指针,指向一个int型数组

注意,该地址类型是int [3]型,他的值是0x40004000,

值为0x40004000的符号还有:

a   &a[0]

但是他俩的类型和va不一样,

6. void *va(int)

这是一个函数

函数的参数是int,

返回值是void *

  1. void (*va)(int) 这是一个指针,指向一个函数,

该函数形参是int

返回值是void

举例

void (*va)(int);
void func(int num)
{printf("一口Linux %d\n",num);
}
va = func ;
//调用
main()
{(*va)(6);
}

注意:函数名也是一个地址

7. int (*va[3])(int)

结合方式:

  • va先和[3]结合,说明va是一个数组

  • va[3] 外面*结合,所以数组元素是一个指针

  • 假定(*va[3])是X,外面是 int (X)(int),所以指针是指向函数的

  • 函数的形参是是int型,返回值是int型


END

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux ffmpeg yum源,ffmpeg最新的yum源地址及视频去logo

一:ffmpeg 最新yum源cat /etc/yum.repo.d/atrpms.repo[atrpms]nameRed Hat Enterprise Linux $releasever - $basearch - ATrpmsfailovermethodprioritybaseurlhttp://dl.atrpms.net/el$releasever-$basearch/atrpms/stableenabled1gpgcheck0gpgkeyfile:///etc/pki/…

Tomcat与Netty比较

Tomcat介绍Tomcat支持的协议Tomcat的优缺点Netty介绍Netty支持的协议Netty的优点和缺点Tomcat和Netty的区别Tomcat和Netty的应用场Tomcat和Netty来处理大规模并发连接的优化Tomcat与Netty的网络模型的区别Tomcat与Netty架构设计拓展 Tomcat介绍 Tomcat是一个免费的、开放源代码…

spring 项目集成配置_Spring重试–与项目集成的方式

spring 项目集成配置如果您需要在代码中实现健壮的重试逻辑,一种行之有效的方法是使用spring重试库。 我的目的不是要展示如何使用spring retry项目本身,而是要演示将其集成到代码库中的不同方式。 考虑一种服务来调用外部系统: package re…

redis 内存不足 排查_排查redis占用内存达90%以上

帮别人排查一个问题,项目还没上线但redis占用内存很高。思路如下:1、登陆redis控制台,首先用 keys * 获取所有的key> keys *x:x:ax:x:bx:x:c发现key也就十来个,用 TYPE x:x:a 发现a是一个list数据类型用lrange命令查看list中指定索引的值用…

C或C 如何通过程序执行shell命令并获取命令执行结果?

1 应用场景最近在实际程序开发中,需要通过程序执行 shell 命令,并获取命令输出内容。但是系统自带的 system 只能返回命令执行成功与否,不能捕获命令输出。2 扩展性由于应用场景本就广泛,因此扩展性较好。此函数可以执行任意命令&…

linux centos7安装ngix,centos7 环境下安装nginx--Linux

本文将要为您介绍的是centos7 环境下安装nginx--Linux,具体完成步骤:一、安装前需要的编译环境准备1、安装makeyum install -y gcc automake autoconf libtool make2、安装gcc、gcc-cyum install -y gcc gcc-c3、关闭防火墙iptables -F4、关闭selinux#临时关闭:sete…

16进制数组转成10进制 qt_QT 十六进制字符串转化为十六进制编码

/*************************************************Function: hexStringtoByteArray()Description:十六进制字串转化为十六进制编码Calls: formatString()Called By:Input: hex->待转化的十六进制字串Output: NULLReturn: QByteArrayOthers: NULL************************…

primefaces_使用PrimeFaces开发数据导出实用程序

primefaces我的日常工作涉及大量使用数据。 我们使用关系数据库来存储所有内容,因为我们依赖于企业级的数据管理。 有时,具有将数据提取为简单格式(例如电子表格)的功能很有用,以便我们可以按需进行操作。 这篇文章概述…

如何优雅地实现判断一个值是否在一个集合中?

如何判断某变量是否在某个集合中&#xff1f;注意&#xff0c;这里的集合可能并不是指确定的常量&#xff0c;也可能是变量。版本0#include int main(){int a 5;if(a 1 || a 2 || a 3 || a 4 || a 5){std::cout<<"find it"<<std::endl;}return 0;…

c语言所有关键字作用,void_C语言void关键字详解

void类型修饰符(type specifier)表示“没有值可以获得”。因此&#xff0c;不可以采用这个类型声明变量或常量。void 类型可以用于下面各小节所描述的目的。void用于函数声明没有返回值的函数&#xff0c;其类型为 void。例如&#xff0c;标准库函数 perror() 被声明为以下原型…

jvmti_拥有您的堆:使用JVMTI迭代类实例

jvmti今天&#xff0c;我想谈一谈我们大多数人每天都不会看到和使用的另一种Java&#xff0c;更确切地说&#xff0c;是有关较低级别的绑定&#xff0c;一些本机代码以及如何执行一些小的魔术。 尽管我们不会在JVM上找到真正的魔力源&#xff0c;但是在单个帖子的范围内可以实现…

babylonjs 分部加载模型_BabylonJS加载OBJ或STL模型文件实例

JavaScript语言&#xff1a;JaveScriptBabelCoffeeScript确定var canvas document.getElementById("renderCanvas");var engine new BABYLON.Engine(canvas, true);var createScene function() {// This creates a basic Babylon Scene object (non-mesh)var scen…

骚操作:利用强弱符号制作插件库

当有强符号和弱符号时&#xff0c;选择使用强符号那么我们正可以利用这个原则做以下事情&#xff1a;定义为弱符号&#xff0c;如果是弱符号&#xff0c;使用默认行为如果链接了库&#xff0c;是强符号&#xff0c;则使用外部定义行为以此来实现一个类似插件的功能。通俗一点说…

c语言里 t是什么作用,c语言里的\t是什么意思

c语言里的&#xff3c;t是什么意思以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;c语言里的&#xff3c;t是什么意思正宗叫法是“水平制表符”&#xff0c;就是在输出媒体上水平跳过多个空格…

boot jersey_Jersey和Spring Boot入门

boot jersey除了许多新功能&#xff0c;Spring Boot 1.2还带来了Jersey支持。 这是吸引喜欢标准方法的开发人员的重要一步&#xff0c;因为他们现在可以使用JAX-RS规范构建RESTful API&#xff0c;并将其轻松部署到Tomcat或任何其他Springs Boot支持的容器中。 带有Spring平台的…

mime类型是什么 node_Node.js - 文件系统获取文件类型

我需要借助node.js来获取文件的文件类型以设置内容类型。我知道我可以很容易地检查文件扩展名&#xff0c;但我也有没有扩展名的文件&#xff0c;其内容类型应该是image/png,text/html aso。Node.js - 文件系统获取文件类型这是我的代码(我知道这并没有太大的意义&#xff0c;但…

函数或全局变量重复定义时会怎样?

可能有些朋友第一反应是&#xff0c;那肯定是编译不过喽&#xff1a;// fun.c #include void func() {printf("编程珠玑\n"); }// main.c #include void func() {printf("公众号\n"); } int main(void) {func();return 0; }编译&#xff1a;$ gcc -o main …

c语言开源编辑器,一个C语言编写的跨平台C语言编译器(开源) UCC

很多科班出身的搞开发的同事大都应该学过《编译原理》这门课程&#xff0c;或许也动手做过一些实践。这次向大家推荐一个由清华大学学生完成的C语言编译器实现 -- UCC。这个项目目前位于sf.net网站&#xff0c;开放源代码&#xff0c;代码使用C语言编写&#xff0c;对于理解和实…

java持久性与安全性_Java持久性锁定初学者指南

java持久性与安全性隐式锁定 在并发理论中&#xff0c;锁定用于保护可变共享数据免受危险数据完整性异常的影响。 因为锁管理是一个非常复杂的问题&#xff0c;所以大多数应用程序都依赖于其数据提供程序隐式锁技术。 将整个锁定职责委托给数据库系统既可以简化应用程序开发&a…

c语言实验报告5数组,c语言实验报告五一维数组.doc

c语言实验报告五一维数组《C程序设计》课程实验报告学院&#xff1a; 班级&#xff1a; 姓名&#xff1a; 学号&#xff1a; 实验设备&#xff1a;计算机1台2011年3月1日实验项目名称一维数组掌握一维数组的定义、初始化&#xff0c;以及一维数组元素的下标法引用。实验要求&am…