定义了一个返回值类型为整型指针(int*)的函数,函数名为a,这个函数需要传递一个参数b,该参数的类型也是整型指针(int*)。
所以调用该函数的地方应该传入一个整形指针。
这里强调一下指针的三个要点:①指针是一种特殊的变量;②指针这种变量存储的值为一个内存地址;③以指针变量的值为内存地址起始的若干字节存放着一个该类型的数。
一般是需要主函数提供保存数据的数组,在参数中给出数组起始地址,然后子函数在其中填充,比如要准会的整数是56void fun(int *a,int b) { ... }
void main() { int a[20]
fun(a,56)
}
先回答下第一个问题,子函数的实现方法可以放在使用它的主函数或者其它子函数后面,但是你的定义一定要在使用它之前;不然编译器怎么知道你用的函数square是什么,这就是我们经常包含头文件的一个目的,头文件是一些函数定义或者预编译命令。修改是在#include<stdio.h>后面加
int square(int num);
第二个问题:num是在main定义是可以在main作用域内直接使用,或者当做参数传递给子函数,你的问题num为什么可以在子函数中用,首先你子函数的num并非main里的num只是你把他们名字写成一样了;main里num是通过值传递给子函数的num,实际他们两个num的内存地址是不一样的,你子函数换个名字去理解一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)