学习OC必备的C基础1

c语言的编译
cd desktop
cc(-c||-o) 目标文件.c||o    cc 目标文件1.c 目标文件2.c
./a.out




1。全局变量   staic   静态存储区
局部变量   auto    栈区
register 硬件寄存器  速度最快  寄存器变量只限于int char 和 指针类型变量的使用


2.全局变量与局部变量取最近变量为原则
全局变量可多次定义是没有问题的,代表同一个值


extern修饰的函数是外部函数,是默认的
static 修饰的是内部函数 只限当前函数调用






3.int a 声明变量为全局变量
static int a 声明变量为局部变量
extern int a 声明变量已定义 


3.结构体可以包含别的结构体变量
  结构体不允许对结构体递归调用
  结构体占用的空间是其成员所占空间的总和


4.结构体  struct
  枚举 enum
  取别名  typedef  函数重名 数据类型重名
(1).typedef+struct 给结构体定义别名
typedef struct MyPoint{
float x;
float y;
}
MyPoint Point;    struct MyPoint(原本定义方式)  typedef char* String
(2).typedef  struct MyPoint{
float x;
float y;
}Point;
(3).typedef struct{
float x;
float y;
}Point1,Point2;
枚举类似,enum Weather{
sum,
rainy,
haze
};
enum Wether weather=haze; 或 enum Wether weather=2; 默认值从0开始
5.union 关键字的用法与struct 的用法非常类似。


union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址.


6.volatile
编辑


就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。
但多线程访问时可能值发生变化


7.c语言数据类型
指针类型  void *p
空类型 void
基本数据类型 int float double char 
构造类型 struct union enum


8.c语言提供了4种最常用的基本数据类型
char 一个字节
int  四个字节
float 四个字节
double 八个字节


9.常用输出格式
整型 int %d
长整型 long %ld
字符型 char %c
浮点型 float %f
双精度型 double %f
指针型 地址 %p


字符串  char a[10];
   printf    %s  a
  scanf %s a
修饰 short短型 long 长型 signed 有符号型 unsigned 无符号型


10.Byte,short,char->int->long->float->double 小的变大的
容量大的数据类型转换成容量小的数据类型,需要强制转换
列:int i=(int)10.7


11.%:取余 /:取整(基于整形的话)


12.扩展赋值运算符
a+=4;——>a=a+4  其余类似
a=++i 先赋值i再++   a=i++ i先++再赋值


12. scanf("%d",&a);
    printf("%d",a);


13.函数指针与别名
//int (*p)(int, int)=sum;




//typedef int(*MySum)(int,int);
  MySum p=sum;


14.scanf不能输出打印字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值