iOS开发-Day11-C的复习
来源:互联网 发布:电子地图综合搜索软件 编辑:程序博客网 时间:2024/06/05 02:50
1、函数指针
看个例子就可以明白了:
int add(int a,int b){ return a+b;}int main(){ int (*ptr)(int, int); //声明一个函数指针 int a, b; ptr = add; //将指针指向函数max scanf("%d%d", &a, &b); c = (*ptr)(a,b); //以指针形式调用函数 printf("%d", c); return 0;}
2、结构体数组,结构体指针
- 结构体数组
typedef struct { char *name; char *sex; int age; }student; student stu1,stu2,stu3; student stus={stu1,stu2,stu3};//一个结构体数组
- 结构体指针
//接上例 student *p; p=&stu1; printf("%s",(*p).name);//输出stu1.name的值 printf("%s",p->name);//与上行意义相同
- 一个问题
typedef struct{ char name[20];} student;int main(int argc, const char * argv[]) { @autoreleasepool { student stu1; //stu1.name="yc";//数组名作地址是不可以直接赋值的 strcpy(stu1.name, "yc"); } return 0;}
3、条件编译
- 一般情况下,源程序中所有的行都参加编译。但有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”(conditional compile)
例子:
#include<stdio.h> #define LETTER1 int main(int argc,char*argv[]) { char str[20]="CLanguage",c; int i; i=0; while((c=str[i])!='\0') { i++; #ifdef LETTER1 if(c>='a'&&c<='z') c=c-32; #else if(c>='A'&&c<='Z') c=c+32; #endif printf("%c",c); } return0; }
条件编译有这几种指令
#if#else#elif#endif#ifdef#ifndef #error #line #pragma
用法详见
http://baike.baidu.com/view/1995627.htm
4、结构体、枚举是值类型,引用类型相当于指针
此点不完善待补充
0 0
- iOS开发-Day11-C的复习
- iOS开发-Day2-C的复习
- iOS开发-Day3-C的复习
- iOS开发-Day4-C的复习
- iOS开发-Day5-C的复习
- iOS开发-Day6-C的复习
- iOS开发-Day7-C的复习
- iOS开发-Day9-C的复习
- iOS开发-Day10-C的复习
- iOS开发-Day12-C的复习
- iOS开发脚踏实地学习day11-导航控制器
- ios-day11-07(控制器的生命周期)
- 【javase复习】## day11 其他流 ##
- python学习-Day11-12-复习
- IOS开发笔记2-C语言基础复习
- IOS开发笔记3-C语言基础复习
- IOS开发笔记4-C语言基础复习
- IOS开发笔记5-C语言基础复习
- 迁移学习
- 2015 年最棒的 5 个 HTML5 框架
- 赫夫曼(Huffman树
- JS原生轮播-基础篇(HTML+CSS)部分
- 让双网卡同时工作在内网和外网
- iOS开发-Day11-C的复习
- eclipse项目导入android studio
- 分类算法
- 页面传值--Delegate/Block/KVO/Notification
- Laravel在XAMPP环境下,render生成分页链接404错误
- 1149-PIGS(网络流建模,缩点)
- 如何阅读源代码
- 简述树的深度优先算法、广度优先算法,及非递归实现的特点。
- 回归问题的提升树(boosting tree)算法