//
// main.c
// C语言学习
#include <stdio.h>
//当数组作为函数参数的时候 可以用 指针 来接收
void change(int *p)
{
p[0] = 998;
}
char *getName()
{
char *name = "ykd"; //开辟了8个字节的内存空间,放在常量区
return name;
}
char *getName2()
{
char name[] = "ykd"; //存储在栈内,函数结束,内存释放
return name;
}
int main(int argc, const char * argv[]) {
/*
只要是数据类型就具备3个特点:
1.可以用来定义变量
2.可以用来作为形参的类型
3.可以作为函数的返回值
*/
int nums[] = {1,3,5};
change(nums); //执行函数,改变了数组第0个元素的值
printf("%i\n",nums[0]); //998
char *name = getName();
printf("%s\n",name); //ykd
char *name2 = getName2();
printf("name2 =%s\n",name2); //name2 = 。(name2的值为空,数组存储的字符串在函数内部被释放了)
return 0;
}
相关推荐
08:变量的作用域、初识指针
l 变量的作用域 C语言里的变量只能被一组特定的词语使用,这组词语叫做变量的作用域。 声明在函数内部的变量叫做局部变量,它的作用域是函数内部的所有语句。 声明在所有函数的外边的变量叫做全局变量,它的作用域包括程序中所有的语句。 简言之: 局部变量,即auto自动变量,使用完后会被系统回收,作用域在{ 语句块 }内。 全局变量,即外部变量,作用域在整个文件
C语言中关于指针变量的使用
通过掌握指针变量的概念、初始化方法、使用方法、小技巧,以及指针变量与数组、指针变量与字符串、指针变量与函数等方面的关系,可以更好地应用指针变量解决实际问题。void 指针是一种特殊的指针变量类型,它可以指向任意类型的内存地址,通常用于不确定指针所指向的地址类型,或者不关心指针所指向的内存中存储的内容的情况下。指针变量是一种特殊的变量,它保存的是一个地址,通常是另外一个变量的地址,也可以是动态分配的内存区域的地址。指针变量还可以作为函数参数,传递指向变量或者数组的指针,从而修改变量或者数组中的元素。
从智能手机到汽车电子:聊聊IPC-9702/9704A标准如何帮我们搞定不同场景下的PCB可靠性设计
本文探讨了IPC-9702/9704A标准在智能手机和汽车电子等不同场景下的PCB可靠性设计应用。通过分析消费电子、汽车电子和工业设备中的应力特征,详细解读了IPC标准在应变识别和测试方法论中的核心价值,并提供了具体的轻量化设计策略和全生命周期验证方案,帮助工程师提升PCB的长期可靠性。
指针作用、指针与指针变量、指针的定义与初始化、指针赋值
指针
数字孪生在智慧医疗中的5个创新应用:从手术模拟到个性化治疗
数字孪生技术通过创建患者或医疗流程的动态虚拟映射,正在深刻变革智慧医疗。本文重点剖析了其在个性化治疗、手术模拟与导航、药物研发、医院管理优化及慢性病管理五大核心场景的创新应用,展现了如何利用智能映射与数据融合,为精准医疗和高效决策提供强大支持。
TikTok网页版X-bougs和_signature参数逆向实战:从断点到RPC调用的完整流程
本文详细解析了TikTok网页版X-bougs和_signature参数的逆向工程实战,从基础断点调试到高级RPC调用,完整还原加密参数的生成过程。通过工具链搭建、加密定位、核心突破及实战演练,帮助开发者深入理解TikTok的加密体系,并构建自动化签名系统。
深入理解指针——指针变量类型有什么用?
本文深入解析了C语言指针变量类型的核心作用。指针类型并非决定内存占用大小(32位4字节/64位8字节),而是决定两个关键行为:1)解引用时读取的字节数(如int读4字节,char读1字节);2)指针加减运算时的步长(如char*+1跳1字节,int*+1跳4字节)。文章通过代码示例验证了不同类型指针在相同内存地址下的不同解析结果,并强调混用指针类型会导致数据错乱和内存越界风险。理解指针类型对正确使用数组、结构体等数据结构至关重要,是掌握C语言指针的关键基础。
30天Python入门(第一天:Python入门)
30天带你入门Python,这是第一天
指针详解
指针详解 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。指针也是一种数据类型,并且也是有值的。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr;
GEE:基于自定义的年度时序数据集进行LandTrendr变化检测
本文介绍了使用年度时序数据进行LandTrendr变化检测的方法,包括核心函数调用、参数设置和结果可视化。通过筛选参数(年份、变化幅度和持续时间)对结果进行过滤,输出变化年份、变化幅度和持续时间。代码提供了完整的处理流程,包括数据输入、LandTrendr算法运行、结果筛选与可视化,并支持结果导出。适用于基于Google Earth Engine平台的地表变化检测分析。
深入Scrapy ItemLoader:打造优雅高效的Python爬虫数据清洗流水线
ItemLoader是 Scrapy 提供的声明式数据加载工具。它的核心理念是:将数据提取(从response中取原始值)和数据清洗/验证(处理空值、格式转换、默认值等)分离开。你可以把它想象成一个工厂流水线:原始零件(selector提取的文本)进入,经过一道道工序(输入处理器),组装成最终产品(Item字段)。首先在items.py中定义清晰的数据结构。使用搭配类型注释(虽然Scrapy自身不强制,但对人和IDE友好)。
指针变量的定义和使用
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。 在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另外的一个普通变量或指针变量。 现在假设有一个 char 类型的变量 c,它存储了字符 'K'(ASCII码为十进制数 75),并占用了地址为 0X11A 的内存(地址通常用十六进制表示)。另外有一个指针变量 p,它的值为 0X11A,正好等于变量 c 的地址,这种情况我们就称 p
RFC 字符码转换深度解析:Unicode、非 Unicode 与 MDMP 系统的协奏
老版本 MDMP 系统不上传自定义映射时,Unicode 端会落回“预配置列表”。列表里可见西欧 1100、日文 8000、中文 8400 等经典编号。若需强制覆写映射,可在 SM59 ➡Unicode页签启用,或直接勾选作为兜底。字符编码问题常“潜伏”多年,一旦旧系统升级或新增语种便集中爆发。掌握 RFC code page 转换机理、灵活运用 SM59 选项、在早期对 LANG 字段和字段长度进行治理,是根治乱码与 short dump 的关键。
指针变量的类型作用
对于普通变量来说,其类型的作用主要有以下几个方面。 程序员写代码时识别用:不涉及强制转换时,知道该变量中应该存放什么类型的数值。 空间大小的说明:比如int为4个字节空间。 存储结构说明: float和int虽然空间大小都是4个字节,但是其存储结构完全不同。 对于指针变量来说,其类型的作用与上面基本一致,只是其类型是由普通类型+星号构成。星号的个数,表明了指针变量的级数,指针变量用来存放地址。当不涉及强制转换时,其对应关系如下。 某类型一级指针变量=该类型一级地址 某类型二级指针变量=&a.
Unity最强动作战斗框架?Combat System Framework 深度解析
Combat System Framework 并不是一个简单的角色控制器,而是一套完整的动作游戏战斗开发框架。它借鉴了现代 AAA 游戏常见的架构思想,以 Gameplay Tag 为核心,结合 ScriptableObject 数据驱动设计,将技能、属性、Buff、伤害、武器、动画通知等系统有机整合在一起。同时,配套的可视化动画时间轴、Root Motion 工具和实时预览窗口,大幅优化了动作开发流程。当然,这套框架也有一定的学习门槛。
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
C语言:函数变量作用域、指针入门
*概念:**变量在程序运行中的存在时间(内存申请到内存释放的时间)根据变量存在的时间不同,变量可分为静态存储方式和动态存储方式//写法1 数据类型 * 变量列表;//写法2 数据类型 * 变量列表;//普通变量int a;//指针变量int *p1;// 正确//正确int* p4;//正确int* p5,p6;//注意:p6被当作int变量,不是指针注意:指针变量的值只能是8(32位系统)| 12(64位系统)位的十六进制整数。① 虽然定义指针变量*a,是在变量名前加上。
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
c语言指针变量作用域,指针变量的存储实质,C语言指针变量的存储详解
相信大家都知道这样一个学习指针的观点:要想彻底理解 C 语言中的指针,首先一定要理解 C 语言中变量的存储实质。谈到变量的存储,我们就不得不先说说计算机的内存概念。计算机的内存是一个用于存储数据的空间,由一系列连续的存储单元组成,它就好像电影院中的座位一样,如图 1 所示。图 1 内存中某一区域的编号在电影院中,为了保证大家能够快速找到自己的座位,每个座位都用一个唯一的编号来标识。而对计算机内存来...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
指针变量和作用域、指针
指针变量、空指针、野指针和作用域、指针、使用const关键字声明指针、void无类型指针
C语言——指针函数和函数指针、局部变量和全局变量、作用域和链接属性
指针函数和函数指针、.函数指针作为返回值、局部变量和全局变量、extern关键字、作用域和链接属性、代码块作用域、文件作用域(file scope)、原型作用域(prototype scope)、函数作用域(functiion scope)、定义和声明、链接属性...
为什么超过了变量作用范围会导致野指针
超过变量作用范围会导致野指针的原因是,当一个变量的作用范围结束时,它所占用的内存空间会被释放,但指向该内存空间的指针仍然存在。在C++中,当一个函数返回一个指向局部变量的指针时,这个指针就成为了野指针。但是返回的指针仍然指向这块已经释放的内存空间,这就是野指针的产生原因。为了解决这个问题,我们可以避免使用指向局部变量的指针,而是使用其他方法来存储数据,如使用动态内存分配、全局变量或静态变量。,然后尝试输出该指针的值。由于指针指向的内存已经超出了作用范围,访问该指针将导致未定义的行为,可能输出随机值或崩溃。
Go语言:变量声明,作用域,指针
1. 命名规则go语言与其他语言一样,有着25个关键字不能出现在变量/函数名的命名中,开发中依然按照“驼峰式命名法”进行一系列的声明。2. 作用域变量定义在function中时,作用域为本个function; 变量定义在一个function外时,作用域为它所属于的包中的所有文件。3. 声明go中基本的四种声明关键字为:var,const,type,func; 当函数中未声明返回值相关时,可以忽略
为什么不同类型的指针变量所占字节数是固定不变的?以及定义指针基类型的作用
笔者在学习的过程中也受到了以上的困扰,经过查阅资料后,得到以下理解: 首先,让我们先上代码,通过例子来深入理解 /* 2019年6月26日10:37:17 目的:一个指针变量所占字节数 */ #include<stdio.h> int main() { char ch = 'A'; int i = 9; double x = 7.3; char * p =&ch; ...
有关js的变量作用域和this指针的讨论
有关js的变量作用域和this指针的讨论 一、变量作用域:[P71] 这一句话说的非常精辟:“在ECMAScript中,只有两种执行环境,全局环境和函数环境,每个函数都是一个执行环境,包括嵌套函数。换句话说,其他情况下即使变量声明在一对大括号中,在括号外部仍然可以...
Go入门系列(二) 变量、指针、数据类型简介和作用域
本系列文章目录 展开/收起 Go入门系列(一) 初识Go语言 Go入门系列(二) 变量、指针、数据类型简介和作用域 Go入门系列(三) 基础类型——整型、浮点型、布尔类型和字符串 Go入门系列(四) 数组Array和切片Slice Go入门系列(五) 哈希表map Go入门系列(六) 结构体s...
Go学习第5天:变量作用域 + 数组 + 指针
模块核心要点变量作用域代码块划分作用域;局部优先遮蔽全局;局部变量必须使用;for 循环变量区分:=和赋值数组长度固定、长度属于类型;值类型(传参拷贝);索引从 0 开始,越界报错;...自动推断长度指针取地址、解引用;默认nil,解引用前必判空;用于函数修改原始变量;无指针运算。
721



被折叠的 条评论
为什么被折叠?



