您的位置:首页 > 编程语言 > C语言/C++

初识C语言2

2020-02-04 22:24 211 查看

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

Eg. return z;


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这里的点.表结构成员访问操作符
(划红线的三种表示方式是一个意思)

  • 点赞
  • 收藏
  • 分享
  • 文章举报
sinat_41817777 发布了4 篇原创文章 · 获赞 0 · 访问量 23 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: