博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言学习12:带参数的main函数,无指定的函数形参,调用库函数处理无指定的函数形参,...
阅读量:4647 次
发布时间:2019-06-09

本文共 1528 字,大约阅读时间需要 5 分钟。

1,带参数的main函数

#include 
int main(int argc,char *argv[]) { int i; for(i=0;i

结果:

will@will-laptop:~/ex/11$ ./a.out 4 1 2 3 4 ./a.out 4 1 2 3 4

2,无指定函数参数按地址进行输入

#include 
void test (int a,...) { printf("paral,a:%d\n",a); printf("para2 :%s\n",(char *)*(&a+1)); //因为最后得到的是字符串的首地址,所以变成指针 printf("para3 : %lf\n",*(double *)(&a+2)); //后一个*号是把值定义为指针,前一个定义为取出地址的值 printf("para4 :%c\n",*(&a+4)); printf("para5 :%d\n",*(&a+5)); } int main(void) { test(123,"hello",3.14,'a',567); return 0; }

结果:

will@will-laptop:~/ex/11$ ./a.out paral,a:123 para2  :hello para3  : 3.140000 para4  :a para5  :567

3,调用库函数处理无指定形参

#include 
#include
//这个va_list 是在stdarg.h文件中定义 //va_start和va_end函数也是 //va_start(va_list ap,last); //type va_arg(va_list,type); //void va_end(va_list ap); void test (int a, ...) { va_list ap; va_start(ap,a); printf("para 1: %d\n",a); printf("para 2: %s\n",va_arg(ap,char*)); printf("para 3: %lf\n",va_arg(ap,double)); printf("para 4: %c\n",va_arg(ap,int)); printf("para 5: %d\n",va_arg(ap,int)); va_end(ap); } int main(void) { test(123,"hello",3.14,'a',567); return 0; }

结果:

will@will-laptop:~/ex/11$ ./a.out para 1: 123 para 2: hello para 3: 3.140000 para 4: a para 5: 567

这个宏被展开成一个包含类型为type,值为ap的表达式。参数ap应该首先被宏va_start 或 va_copy初始化,但又必须在被宏va_end调用之前使用。每次调用va_arg都会改变ap值使得后续的参数值能被依次添加。参数type应该是 一个类型名,并且用type*能够得到该类型的指针类型

转载于:https://www.cnblogs.com/will-boot/p/3355226.html

你可能感兴趣的文章
重温JSP学习笔记--与日期数字格式化有关的jstl标签库
查看>>
java-Date-DateFormat-Calendar
查看>>
封装CLLocationManager定位获取经纬度
查看>>
我的第一篇博客-(Eclipse中或Myeclipse中如果不小心删除了包那可怎么办?)
查看>>
对easyui datagrid组件的一个小改进
查看>>
类似以下三图竞争关系的IT企业
查看>>
清明节
查看>>
ubuntu如何安装svn客户端?
查看>>
javascript之非构造函数的继承
查看>>
C#实现 单点登录(SSO)
查看>>
高精度计算(2015.8.1)
查看>>
cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
查看>>
软工网络15团队作业2——团队计划
查看>>
计算机专业及软件开发推荐书籍
查看>>
《Java程序设计》 课程教学
查看>>
Lambda--持续学习中
查看>>
简单谈谈面向对象和面向过程的区别
查看>>
Intellij IDEA 配置Tomcat远程调试
查看>>
python3 进程和线程(一)
查看>>
python-综合练习题(if条件语句,while循环,奇数偶数
查看>>