网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
//例题:
int a = 5;
int b = 3;
int c = 1;
int d = (a = b+2,c = a-4,b = c+2)
printf(“%d”,d);//输出结果为3
#### 11、下标引用、函数调用和结构成员
[]:下标引用操作符,常用来访问数组成员
():函数调用操作符
.:结构体成员变量的访问符号
## 十、关键字
【定义】 关键字是C语言中有着特殊意义的字符,关键字由C语言提供,不可以自己创建。
注意:变量名的创建不能使用关键字
部分关键字:
auto//定义自动变量
typedef//类型重命名
case、char、const、continue、default、enum
extern//用来声明外部符号
void、union、while、static等。
注意:include、define都不是C语言的关键字
对static关键字的介绍:
static a.静态的
用法:
1)修饰局部变量,改变了局部变量的生命周期,可以使得局部变量在局部范围使用完后而“不死”,本质是改变了变量的存储类型。
2)修饰全局变量,使得全局变量只能在自己的源文件(.c文件)内部使用,同工程下的其他源文件不可使用。
3)修饰函数,使得函数只能在自己的源文件内部使用,不能在其他源文件内部使用。
补充内容:C语言的内存划分
![](https://img-blog.csdnimg.cn/8a000ac4272c462ca4a3f92910785e74.png)
## 十一、指针
【定义】首先我们要知道,内存是被划分成了多个内存单元的。每个内存单元都有编号,这些编号就称为内存单元的地址,也称为指针。
1、指针变量的定义 :类型 \* 变量名 = 地址
#include<stdio.h>
int main()
{
int a = 10;//a是整型变量,在内存中要分配要四个字节大小的空间
//&a 是用来取a的地址的,实际上取到的是a分配内存单元第一个单元的地址
printf(“%p”, &a);//"%p"是专门用来打印地址的
int* pa = &a; //pa用来存放地址,是一个整型的指针变量
return 0;
}
2、 指针变量的作用:利用解引用符\*,我们可以通过指针变量来操作变量。例:
int main()
{
int a = 10;
int* pa = &a;
*pa = 20;
printf(“%d”, a);
return 0;
}
以上代码输出的结果为:20。
这是因为\*pa就是找到了指针指向的变量a,因此可以直接对a操作。
(指针就是地址)
3、指针变量的大小
指针变量的大小与计算机的位数有关,与指针变量的类型无关。
例:sizeof(char \*); //其结果为4
结论:指针变量大小在32位计算机上都是4个字节,在64位计算机上都是8个字节。
原因:指针变量大小与地址的存储相关。
## 十二、结构体
1、我们可以使用结构体创建新的类型出来。
结构体使得C语言有能力描述复杂类型。
例:描述一个学生:姓名+年龄+性别。
先创建一个学生的类型
struct Stu
{
char name[10];
int age;
char sex[4];
};
其中name、age、sex都是Stu这个类型的成员变量
2、结构体变量的初始化
int main()
{
struct Stu s = { “张三”,20,“男” };
printf(“%s %d %s”, s.name, s.age, s.sex);
return 0;
}
输出结果
![](https://img-blog.csdnimg.cn/db123aa8b26a4b1797a4dea670f0a6e2.png)
![img](https://img-blog.csdnimg.cn/img_convert/06c20cc0f5cad94248d477a4cfce2694.png)
![img](https://img-blog.csdnimg.cn/img_convert/6be57343097fa16d0ba8758f10104c98.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**
小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**