#include<stdio.h>
#include<stdlib.h>
void go(int num[10])
{
printf("go = %d\n", sizeof(num)); //数组作为函数参数的时候传递的是一个 地址/指针(数组的拷贝非常浪费内存)
} //除了数组之外,其他参数都是副本机制(新建一个变量)
void main()
{
int num[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
printf("main = %d\n", sizeof(num));
go(num);
system("pause");
}
//scanf初始化指针变量
void main1()
{
int num1 = 100;
int num2 = 200;
printf("%x,%x\n", &num1, &num2);
int *p;
scanf_s("%p", &p);
printf("%d\n", *p);
system("pause");
}相关推荐
Informer:比Transformer更有效的长时间序列预测
目录 AAAI 2021最佳论文:比Transformer更有效的长时间序列预测 Background Why attention Methods:the details of Informer Solve_Challenge_1:最基本的一个思路就是降低Attention的计算量,仅计算一些非常重要的或者说有代表性的Attention即可,一些相近的思路在近期不断的提出,比如Sparse-Attention,这个方法涉及了稀疏化Attention的操作,来减少Attention计算量,然后涉及的
C语言-scanf给数组赋值
【代码】C语言-scanf给数组赋值。
从Microchip SDK到STM32实战:手把手教你移植LAN9252 EtherCAT从站驱动(含EEPROM配置避坑)
本文详细介绍了如何将Microchip SDK中的LAN9252 EtherCAT从站驱动移植到STM32F407平台,包括FSMC接口配置、中断处理适配和EEPROM配置等关键步骤。通过实战指南和避坑技巧,帮助开发者快速实现高性能EtherCAT从站设备的开发,适用于工业自动化领域。
如何用输入函数为数组赋值
如何用输入函数为数组赋值
Doris + Iceberg 实现高效数据湖分层:架构解析与最佳实践
本文深入解析了如何利用Doris与Iceberg构建高效的数据湖冷热分层架构。通过将高频访问的热数据存储在Doris中以实现毫秒级查询,同时将历史冷数据归档至低成本的Iceberg存储,该方案在保障查询性能的同时显著降低了总体拥有成本。文章详细阐述了从架构设计、自动化迁移到统一查询的最佳实践,为应对海量数据下的成本与性能平衡提供了实战指南。
双向全桥隔离DC-DC变换器(DAB)的调制优化与挑战解析
本文深入解析了双向全桥隔离DC-DC变换器(DAB)的核心调制技术及其面临的挑战。文章从基础的相移调制(SPS)入手,逐步探讨了扩展相移(EPS)、双重相移(DPS)等进阶策略,并重点分析了电流优化与零电压开通(ZVS)等硬核优化技巧。针对DAB在实际应用中存在的建模困难、多模块并联及数字实现等挑战,提供了实用的应对策略与设计思路,旨在帮助工程师在性能、复杂度与成本之间找到最佳平衡。
如何用scanf语句为字符指针数组赋值
指针地址是由系统自动分配的,想要自己指定指针地址有两种方法: 一、初始化赋值 例如: char* p[] = { "Blue","Yellow","Orange","Green","Red","black" }; 此种方法很容易理解; 二、使用循环,对每个元素遍历输入: 1.gets() #include<stdio.h> int main() { char a[81]; while (1) { gets(a);//a是数组名,是地址常量;每次循环后都会改变字符数组存储的字符串;
ADS学习笔记 1. 功率放大器设计
基于ADS2023 update2的学习笔记1.功率放大器设计
C语言之数组(数组赋值的三种形式)
在C语言中,对数组进行赋值的三种形式 1、通过循环的形式 即:数组名[下标] 对数组的元素进行依次赋值 #include <stdio.h> int main() { int i; int a[10] = {0}; for(i=0;i<10;i++) { scanf("%d",&a[...
天龙八部TLBB系列 - 网单用数据库修改为其他门派
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等) --- 天龙八部修改门派
时间序列预测 | Python实现LSTM时间序列数据预测
目录LSTM神经网络LSTM原理LSTM数据下载LSTM程序设计导入Python包时序数据处理LSTM模块定义模型训练模型评估参数设定运行结果参考资料致谢 LSTM神经网络 长短期记忆网络——通常简称为“LSTM”——是一种特殊的 RNN,能够学习长期依赖关系。它们由Hochreiter & Schmidhuber (1997)引入,并在后续工作中被许多人提炼和推广。1它们在处理各种各样的问题时效果非常好,现在被广泛使用。LSTM 被明确设计为避免长期依赖问题。长时间记住信息实际上是他们的默认行为
C语言数组初始化及malloc初始化
前言 做笔试题的时候老有些小错误,来总结一下。 数组赋值初始化的三个方式 1、{0} 初始化 例如: int nums[3] = {0}; 但是经常出现的是给定长度(变量)然后需要进行初始化,如果写成下式: int main(){ int numsSize=0; scanf("%d",&numsSize); int nums[numsSize]={0}; } 则会出现以下报错信息: error: variable-sized object may not be initialize
YOLOv13|损失函数优化篇:Focal EIOU 保持良好性能的同时,提供更高效的计算和更稳定的训练过程-包源码
Focal IoU与EIoU:目标检测中的损失函数优化 摘要:本文深入探讨了目标检测中两种重要的边界框回归损失函数优化方法。Focal IoU借鉴Focal Loss思想,通过(1-IoU)^γ因子调节损失权重,使模型更关注难样本(低IoU预测框),有效解决了传统IoU Loss对难易样本权重相同的问题。EIoU则在CIoU基础上改进,通过简化长宽比计算、分离宽高损失项,提升了计算效率和训练稳定性。两种方法分别从样本权重分配和损失函数结构优化角度,显著提升了目标检测性能,为实际应用提供了更高效的解决方案。文
《每天一分钟学习C语言·十》二维数组与二维指针,判断字符大小写,char arr[]和char * arr区别等
因为p和i是两个独立的个体,首先把i赋给p,这时p指向i地址即NULL,然后通过函数给P分配内存,这时p不在指向i地址,而是重新指向一个分配好内存空间的地址,i依然是NULL。//a是指向第一个元素的地址,第一个元素是含有两个int的数组,所以a是指向含有两个Int数组的指针,可以写成int (*a)[2] == int[2] (*a)//定义一个指针数组,b里面的每个元素是一个int *即地址,又b是第一个元素地址,故b是一个指向地址的指针,p = b;(2)而int ** p中的p是指向地址的指针。
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
《C和指针》——笔记
第一章 温故知新 注释已经含有注释/**/的代码块 #if 0 statements /**/ statements #endif %g打印一个浮点值 scanf函数有返回值——成功转换并存储于参数中的值得个数 int num; //scanf失败返回0,成功返回转换的值的个数 if( 1==(scanf("%d", &num))...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
c语言程序构造数据类型问题,C语言程序设计课程课件之第四章简单构造数据类型.ppt...
C语言程序设计课程课件之第四章简单构造数据类型第四章 简单构造数据类型 目录 4.1 一维数组 4.2 二维数组 4.3 字符数组 4.4 数组与指针 4.5 数组及指针作为函数参数 4.1 一维数组 数组元素的下标从0开始。例如:int a[5]; 其元素的表示为a[0]、 a[1]、 a[2]、 a[3]、 a[4]。 如果用a[5]则是错误的。 3、补充说明: ...
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
大一C语言查缺补漏1 12.20
/ 解引用 ptr,将 x 的值(10)赋给 y。重新定义标准库函数,那么在该作用域内,原有的标准库函数的确会失去其原有的含义。// ptr 指向 x 的地址。0` 表示在数值前面填充零(而不是空格),以达到指定的最小宽度。在使用任何标准库函数之前,需要在源代码中包含相应的头文件。在定义函数时,需要指定函数的返回类型和参数的数据类型。在程序中使用函数名并传递实际参数来执行已经定义的函数。是执行过程中调用其他函数的函数。16 的平方根是 4。是格式说明符的一部分。
C语言数据结构注意点-线性表
区别在于指针p同时也是个变量,既然是变量,编译器肯定要为其分配内存地址,无论是普通的变量还是指针变量在内存中都有一个地址 ,就像程序中定义了一个int型的变量i,编译器要为其分配一块内存空间一 样。如果函数会改变指针L的值,而你希望函数结束调用后保存L的值,那你就要用LinkList *L,这样,向函数传递的就是指针的地址,结束调用后,自然就可以去改变指针的值;②指针变量其实是一个变量,只不过其存放的内容为地址,如 int* p,这个p是指针类型,它的值存的是地址。而且,p指向的地址中的内容就用*p表示。
C语言学习笔记
两个scanf,第二个scanf是%c时,第一个scanf会造成缓冲区残留\n,下一个scanf会自动接收上一个scanf遗留的\n,所以不会暂停,解决办法是在两个scanf之间加上fflush(stdin)int arr[10]是静态申请的内存,在栈中,用malloc(i)动态申请内存,在堆中malloc()返回的是无类型指针,所以需要强制类型转换,如(char *)malloc(size);2、指针是地址,不同类型的数据的指针有对应的指针类型,如int类型数据的指针的数据类型是int *
C 2022-01-04
1.一个C语言程序是由 (一个或多个)函数 构成 。 2.标识符除了不能跟关键字相同以外,还必须跟保留标识符(如main等)不同,保留标识符包括头文件里定义的那些标识符(一般以下划 线开头)、一些函数使用的标识符。 3.若有说明语句:double *p,a; 则能通过scanf语句正确给输入项读入数据的程序段是()。 [我的答案] p=&a;scanf("%lf",*p); [参考答案] p=&a;scanf("%lf",p); //没加& 4.(long)123456
C语言基础知识
;C语言的基础知识
c程序设计复习
...
C语言内嵌Es6,或许有一两点你不知的C语言特性
关键字篇volatile关键字鲜为人知的关键字之一volatile,表示变量是'易变的',之所以会有这个关键字,主要是消除编译优化带来的一些问题,看下面的代码1 int a = 8;2 int b =a;3 int c = a;编译器认为,上面的第2句代码与第三句代码之间,没有存在对a赋值的语句,所以编译出来的汇编代码在讲a的值赋给c的时候,不会再次到内存取这个变量的值,而是取cache中的值。这...
《C指针漫谈:那个让你又爱又恨的家伙》(空指针、野指针、void 指针(万能指针)、函数指针、指针数组、数组指针)
本文主要讲解指针的多种用法,和一些概念,不过多赘述一些函数的用法,全文5400多字,根据需要查漏补缺, 如有疑问可以随时私信,会第一次时间进行更新补充和说明形而上学者谓之道,形而下学者谓之器目录前言一、指针的基本概念二、指针类型和指针运算三、多级指针四、万能指针五、野指针六、悬垂指针七、空指针八、指针和数组九、指针数组和数组指针十、指针和字符数组十一、指针和动态内存 堆和栈十二、动态内存函数 malloc calloc relloc 和free的使用十三、内存泄露十四、函数返回指针。
c语言学习文档
第二章 基础数据类型与输入输出1. 基本数据类型一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。 基本数据类型有char(字符型),int(整型),float(浮点型)和double(双精度型)。在不同的计算机上,每个变量类型所占用的内存空间的长度不一定相同。例如,在16位计算机中,整型变
在函数中利用scanf为结构体数组赋值
结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存 程序当中,编写函数,输入5个学号(int),5个姓名(字符串),5个成绩数组(每组三个成绩)(int[3]),依次调用函数,最后打印 #include #include struct student //建立结构体,学号,姓名,3门课的分数
1万+



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



