初识C语言2

注释多行一般用/**/,但不支持嵌套,所以推荐用//
快速注释代码:ctrl+k+c(第一行先写个//,然后全选,再ctrl+k+c,则每一行都被分别注释)
快速放开代码:ctrl+k+u
循环:while ,do while,for

Eg. return z;

x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzExNTAwMQ==,size_16,color_FFFFFF,t_70" width=“60%” height=“60%” alt=""/>
Eg.int arr[10 ]={0};//第一个元素初始化为0,其余元素默认初始化为0
Eg.float a=7/2;//若两个数都是整数,则执行整数除法→3
若7/2.0,则→3.5
%取模时,两个操作数必须都为整型
存一个数存的是补码

位操作符与逻辑操作符的区别

与,异或,或(二进制)

0为假,其余全为真

sizeof 与strlen 的区别
Sizeof 带上/0,整个空间的大小,一个字符就是一个字节,表char,若为int,要乘4
Strlen 不带/0,但/0作为结束标志,否则出现随机数,字符串的长度,有多少算多少
Eg.int a=(int)3.14;//(类型)强制类型转换

逗号表达式:从左到右依次计算,最后结果是整个表达式的结果

typedef 顾名思义是类型定义,这里应该理解为类型重命名

把unsigned int 定义成 uint,后面用的时候就直接写uint就行(跟int,char用法一样),不用再写长长的一串

Void 不需要返回值,没有返回值
比如要打印一个“呵呵”,不需要什么返回值
void test( )
{
int a = 1;
a++;
printf("%d ", a);
}
int main()
{
int i = 0;
while(i<10)
{
test();
i++;
}
return 0;
}

没有把值返回给a

static的用法

用法1 延长了局部变量的生命周期

用法2 extern可以让全局变量跨源文件使用(具有外部链接属性),而static则限制了这一功能(只有内部链接属性)

在sum.c里声明一个全局变量g-val,在test.c里使用
用extern在test.c里声明外部变量g-val

若在sum.c里面加一个static,则g-val只能在sum.c里面看到,在test.c里面看不到了

用法3 修饰函数跟修饰全局变量的用法完全一样(extern的和static的)

#define 定义常量和宏(甚至定义一段代码也行)规则就是“替换”

定义宏(宏是有参数的,但不要参数类型,刚好与函数区别)

内存

一个内存单元就是一个字节,一个地址
每个字节都给了一个编号,每个编号都代表一个地址

运行出的是a的首地址(第一个字节的地址)
指针变量的作用:存放地址
int a=10;

p;//解引用操作符(间接访问操作符)→p等价与a
&a;//取地址

一个指针在64位的计算机上,占8个字节;
一个指针在32位的计算机上,占4个字节。
指针:就是地址
指针变量就是存地址的变量!

结构体:创造一种自定义的复杂类型
类型要创建变量

s.name,s.age这里的点.表结构成员访问操作符
(划红线的三种表示方式是一个意思)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值