摘要:
点击打开链接 该帖子中对两者的区别说的很清楚,引用一段如下:1.局部变量的指针和局部指针变量是两个不同概念2.局部变量在函数体结束后生命期也结束,它的指针(即它的地址)是无效变量的地址,所以函数不能返回这种地址值3,局部指针变量在函数结束后生命期也结束,但它指向的变量或函数或任何存储实体的生命期没有结束,函数返回的指针(地址)就是有效的例1:int*func(){intx;...return&x;/*返回局部变量的地址--无效*/}例2.int*max(inta[],intn){int*p=a[0];inti;for(i=1;i<n;i++){if(*p<a[i])p=&a 阅读全文
摘要:
在stdarg.h头文件中声明了一个类型va_list和3个与函数可变参数列表有关的宏:va_start、va_arg、va_end。#include //包含宏相关的头文件float average(int n_values,...) //指定数量的值的平均值 { va_list args; //声明一个va_list 的变量 int count; float sum=0; var_start(args,n_values); for(count=0;count<n_values;count++) { sum+=va_arg(args,int); } var_end(args); ret 阅读全文