首页 > 其他分享 >24.4.5C语言学习笔记|访问空间地址【之前一直迷惑的问题】

24.4.5C语言学习笔记|访问空间地址【之前一直迷惑的问题】

时间:2024-04-06 18:00:15浏览次数:26  
标签:do 访问 24.4 void 笔记 C语言 int printf event

1、如何访问一个空间?

有名访问

无名访问

指针的大小跟你的编译器是x64系统还是x86系统有关,

%p,打印地址(十六进制)

C语言如何用地址来描述一个空间?

C语言如何识别变量的属性?

  • 定位,先右看,再左看

数组:有多少个?每一个怎么存的?

高级变形第二个:

  1. 定位---a5【一个指针,地址,门牌号】
  2. 怎么访问?一个到另一个多少字节、空间??
  3. 右看----【说明访问空间的方式是数组,5个5个访问】
  4. 左看----以int方式访问
  • a5相当于钥匙,5个int5个int的方式访问。

第三个类似,4个4个地访问,只不过是明确告诉你有3串。

char (*a[5])[4];

a--右看--升级为数组【a大箱子中放了5个小箱子,每个小箱子里存了一把钥匙】--怎么访问??---把()作为整体,四个char四个char地访问。

2、函数地址保存

函数是空间

-函数名就是这个空间地址的常量值的代号

如何用一个变量保存这个代号?

-保存这个代号,地址

-案例:printf更换名

int fun(){
xxx
}
int main(){
xxx=abc;
xxx();
}
//案例:printf换名
#include<stdio.h>
int xxx(void)//假设这个是printf()的函数【在头文件中找到printf的函数声明】
int main(){
int (*myshow)(const char *__format,...);//从头文件中找到的。
myshow=printf;
myshow('hello world!\n');
return 0;
}

//模拟计划执行表
#include<stdio.h>
void do_game() {
	printf("play game!\n");
}
void do_book() {
	printf("read books!\n");
}
void do_music() {
	printf("listen music!\n");
}
int main() {
	int i;
	//定义一个数组空间,保存了key,每把钥匙是的函数行为;
	void(*event[3])(void);

		//设置每天做的事
	event[0] = do_game;
	event[1] = do_book;
	event[2] = do_music;
	//[相当于实现了上串代码的------函数改名]

	//循环执行每天做的事情
	for (i = 0; i < 3; i++) {
		event[i]();
	}
	return 0;
}

3、空间的属性3.7

空间可以任意访问吗?

为什么?char 

未完待续。。。

标签:do,访问,24.4,void,笔记,C语言,int,printf,event
From: https://blog.csdn.net/weixin_47011416/article/details/137407090

相关文章

  • web学习笔记(五十二)数据库
    目录1.数据库的相关概念1.1什么是数据库1.2常见数据库的分类1.3 传统型数据库的数据组织结构1.4补充2.  使用SQL管理数据库2.1 什么是SQL?2.2 SQL能做什么2.3  SQL的SELECT语句2.4  SQL的INSERTINTO语句2.5 SQL的UPDATE语句2.6 SQL......
  • Camera KMD ISP学习笔记(8)-Camera SMMU
    学习资料来源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html仅用于个人学习,侵联删 SMMU/IOMMU:处理IODeviceDMA访问内存的计算机硬件,实现dmaaddr(IOVA)到物理地址的映射MMU:处理CPU访问内存的计算机硬件,实现CPU虚拟地址到物理地址的映射 SMMU&&DMA......
  • Camera KMD ISP学习笔记(7)-CRM pipeline delay和V4L2 Event
    学习资料来源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html仅用于个人学习,侵联删 Realtimepipeline或实时Pipeline,在这个Pipeilne上的硬件设备有一些特点:实时,实时是指streamon后一直在出图,如下图的蓝色线(flash和actuator不会出图,但也是挂载到Realt......
  • C语言 ---- extern的使用
    extern是一个关键字,用于在C和C++中声明一个变量或函数的外部链接性。当您在一个源文件中使用extern声明一个变量或函数时,它表示该变量或函数是在另一个源文件中定义的,而不是在当前文件中定义的。1.声明全局变量的外部链接性://File1.cintglobal_variable;//定义一个全局......
  • JsonCpp 笔记: 读写 Json 文件
    JsonCpp笔记:读写Json文件完成时间:2024-04-06本文主要介绍使用JsonCpp读写Json文件,JsonCpp是C++上的一个Json处理库Json的语法如果熟悉Json语法,此部分可以跳过Json包含两种结构:对象(object),它是键值对的集合(key:value)有序数组(array)......
  • 24.4.6 题解
    4.6模拟赛T1困难的图论题意:找出所有在且仅在1个简单环中的边,输出编号的异或和。一个错误的想法:找边双连通分量,看边数是否等于点数反例:正解是点双所以我在想,为什么是点双,不是边双呢?什么时候找点双,什么时候找边双呢?T2中等的字符串已知\(m\)个关键词\(s_i\),每出现......
  • FPGA入门笔记011_A——嵌入式块RAM的使用
    1、Cyclone-II系列FPGA内部结构图1——Altera公司Cyclone-II系列FPGA内部结构​ 如上图所示是Altera公司Cyclone-II系列FPGA内部结构,个模块作用如下:​ PLL锁相环—对时钟进行管理。​ IOEs—管脚单元,配置管脚,设置输入输出。​ 逻辑阵列—实现组合、时序逻辑。​ 块RAM......
  • Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用
    一、前言记录时间[2024-4-6]前置文章:Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识在上文中,笔者进行了Docker概述,介绍其历史、优势、作用,以及基本组成。通过此,相信大家对Docker有了一个初步的认识。接下来就进入Docker的安装、环境配置,和简......
  • 2024.4.6 - 4.12
    SatJOI2023Final宣传2\(n\)个人,每个人有住所位置\(X_i\)与影响力\(E_i\),一个人\(i\)拿到书后会号召另一个人\(j\)买书仅当\(|X-i-X_j|\leqE_i-E_j\),你最少送多少个人书才能使得所有人都会有书(送的或者被号召买书)。\(n\leq5\times10^5\)。拆一下绝对值,得:\[......
  • 【阅读笔记】REST设计风格
    摘自:《凤凰架构:构建可靠的大型分布式系统》周志明著著者前言很多人会拿REST与RPC相比较,其实,REST无论是在思想上、在概念上,还是在使用范围上,与RPC都不尽相同,充其量只能算是有一些相似,应用会有一部分重合之处,但本质上并不是同一类型的东西。REST与RPC在思想上差异的核心是抽象......