c语言自动回放,C_Cpp-C语言回顾

一.数据类型及长度

1.java(虚拟机平台,数据长度固定)

byte short int long float double char boolean

1 2 4 8 4 8 2 不确定(4或1)

2.C语言(不同平台数据长度不同)

char short int long float double

1 可用sizeof获取数据长度

signed(默认) unsigned

枚举

enum WeekDay{

Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday

};

enum WeekDay wd = Sunday;

printf("%d\n",wd);

联合体

union mix{

double d; int i; char c;

};

在Union中,所有成员不能同时存在,总长度等于最长成员的长度

结构体

struct date {

double year;int month;char day;

};

在struct中,各成员同时存在,总长度等于所有成员之和

二.输入输出

#include // 输入输出库

#include

system("java hello");// 调用系统命令,执行java代码

system("pause");// 调用系统命令,让控制台暂停

1.输出

%hd short half d

%d int

%ld long int

%f float

%lf double long float

%u 无符号数

%x 十六进制

%o 八进制

%c char

%s 字符串

int i=3;

printf("int =%d\n",i);

2.输入

int i;

char c[3];

scanf("%d",&i);

scanf("%s",c);

三.指针

1.指针代表内存地址

指针变量 存放内存地址的变量

*含义

1.乘法

2.指针变量类型 int* p;

3.指针变量取值 *p = 2;

2.指针常见错误

1不给指针变量赋值,直接用,野指针 int* p; *p =2;

2指针类型和赋值类型不匹配 float f; int* i=&f;

3.指针和数组

数组元素在一块连续内存中

数组变量对应数组首元素地址 int a[3]; a=&a[0];

char* c="HelloWorld" 表示字符串char c[]="HelloWorld";

4.多级指针

int i=3;

int* p1=&i;

int** p2=&p1;

int*** p3=&p2;

5.函数指针

int add(int x,int y){

return x+y;

}

int (*f)(int x,int y);

f=add;

f(3,5);

四.内存分配

data区 常量池

code区 存放代码 main()等等

栈区 静态自动分配和释放 连续分配

堆区 动态手动分配和释放 不连续分配(链表)

malloc() 手动分配内存 memorry alloc

free() 手动释放内存

int* p=(int*)malloc(sizeof(int)); //手动分配内存

*p=3;

free(p); //手动释放内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值