变元-c语言如何在子函数读取主函数中的数组

问题描述

c语言如何在子函数读取主函数中的数组

要一次性全部读取这个数组,不需要改变数组。
比如我有个数组a【10】。我想一次性在子函数中读取a从1到10的所有字符。如果不通过指针,可以用变元传递嘛

解决方案

你用数组做形参,传过去的实参相当于传指向数组的指针。

解决方案二:

标准C语言,没有你所说的变元的东东。变元,都是后来 C++/C# 才有的。

指针是最方便的,其它不想说了。

解决方案三:

c语言就指针了吧!其他的没有指针直接了!
引用,变元都不是c的东西了!

说具体需求吧

解决方案四:

数组明本身就可以当做地址 和指针一样 所以可以直接在子函数里引用这个数组的首地址 然后用for循环遍历整个数组

解决方案五:

既然用c,就不要害怕用指针,并且要弄明白指针

解决方案六:

void readArray(int array[], int count); 变元是神马。

时间: 2024-09-11 17:49:47

变元-c语言如何在子函数读取主函数中的数组的相关文章

设置C#子窗体在主窗体中居中显示

问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写 this.StartPosition = FormStartPosition.CenterParent; 其实这样写是不对的,正确的写法应该是 this.StartPosition = FormStartPosition.CenterScreen; 为什么是CenterScreen

printf-C语言中被调函数在主调函数的前面和后面有什么区别?

问题描述 C语言中被调函数在主调函数的前面和后面有什么区别? 一: void swap(int x,int y) { int temp; temp=x; x=y; y=temp; printf("x=%d,y=%dn",x,y); } void main() { int a,b; //a,b是实参. scanf("%d,%d",&a,&b); swap(a,b); printf("a=%d,b=%dn",a,b); system(

c中函数定义与主函数不太清楚

问题描述 c中函数定义与主函数不太清楚 #include #include #define len sizeof(struct student) struct student { long num; char cla[20]; char name[20]; float score; struct student *next; }; void main() { int n,w,i,c,m,y; n=0; void max(struct student *head); int revise(stru

x264代码剖析(三):主函数main()、解析函数parse()与编码函数encode()

x264代码剖析(三):主函数main().解析函数parse()与编码函数encode()                  x264的入口函数为main().main()函数首先调用parse()解析输入的参数,然后调用encode()编码YUV数据.parse()首先调用x264_param_default()为保存参数的x264_param_t结构体赋默认值:然后在一个大循环中通过getopt_long()解析通过命令行传递来的存储在argv[]中的参数,并作相应的设置工作:最后调用se

c语言-C语言:在子函数中修改结构变量中元素的值

问题描述 C语言:在子函数中修改结构变量中元素的值 要写一个处理学生成绩信息的程序,使用单向链表,创建,遍历已经没有问题,但在修改结点的数据时出现问题,输入数据后程序就停止运行. 修改的思路是先根据学号定位到指定结点,然后修改数据,修改函数如下 void Correct(float *a,float *b,float *c,float *d,float *e,float *f) { printf("请依次输入学生正确的的英语 数学 物理 C语言成绩n"); scanf("%f

c语言中如何把在子函数中用malloc开辟的空间传回主函数?

问题描述 c语言中如何把在子函数中用malloc开辟的空间传回主函数? 如何把在子函数中用malloc开辟的空间传回主函数? 我将指针传给子函数,但却没有将开辟的空间地址带回到主函数 解决方案 malloc返回的是函数指针.你直接返回这个指针就可以了. 如果是在参数中,那么看你的参数有没有加上引用符号.& 解决方案二: 可以通过返回值啊... "如何把在子函数中用malloc开辟的空间传回主函数? 我将指针传给子函数,但却没有将开辟的空间地址带回到主函数" 第一句我看懂了,第二

代码放在主函数没问题,拿出来放到子函数就出错,

问题描述 代码放在主函数没问题,拿出来放到子函数就出错, #define _CRT_SECURE_NO_WARNINGS#include #include #include int **a = NULL; int *find_a(int **a){ int data; printf(""input find number:n""); scanf(""%d"" &data); int i = 0j; for (i = 0

c-求 linux 标准 C 语言判断2个字符串的一个函数

问题描述 求 linux 标准 C 语言判断2个字符串的一个函数 函数的原型为: int diff_str(const char * a, const char * b); 主要是用来处理当A和B 中存在有符号点 "." 或星号 "*"时的判断关系. 星号出现的(位置不定),且 (不限制长度) 匹配 [a-z0-9] 中包含的字符. 注意: 星号不能匹配 "." 例如: a="hello*world"; b="hel

《C语言程序设计:问题与求解方法》——2.3节C语言源程序的主要构成成分:函数定义

2.3 C语言源程序的主要构成成分:函数定义 我们通过例题2.1来探讨C语言源程序的主要构成成分(该程序的功能在学完本章后,读者自然应该能够懂得,现在不必为读不懂程序感到烦恼). [例题2.1]输入圆球的半径,求圆球的体积. C语言源程序如下: 0 #include<stdio.h> 1 int main(void) 2 { 3 float r ; 4 float v ; 5 6 printf("请输入圆球的半径,以米为单位\n"); 7 scanf("%f&qu