C语言 百分网手机站

C语言核心知识点相关总结

时间:2020-09-02 10:44:38 C语言 我要投稿

C语言核心知识点相关总结

  extern 可以置于变量或者函数前面,提示编译器遇到这个变量或者函数的时候,在其他/当前模块里寻找。不妨看看更多C语言核心知识点,以下仅供参考!

C语言核心知识点相关总结

  extern int a; // b.c 有个全局变量a,那么可以在a.c里声明这个a,然后拿过来用,但是并不代表我重新定义了一个a

  extern int function(int a, double b, char c);

  // 注意:函数在进行声明的时候,extern 是默认可以省略的。

  定义:没有加上 extern 就是定义了。定义后的变量是有存储空间的,可以获取到这个变量的地址,但是不一定有值。

  int a;

  int arr[10];

  初始化:定义变量的同时进行赋值操作。

  int a = 10;

  int arr[10] = { 0 };

  数据类型:

  在C语言里的数据类型分为四大种:

  1. 基本类型

  在不同平台下所占字节数:

  Linux 64 Windows 64 Linux 32 Windows 32

  字符: char 1 1 1 1

  整型: short 2 2 2 2

  int 4 4 4 4

  long 8 4 4 4

  long long 8 8 8 8

  size_t 8 8 4 4

  浮点型: float 4 4 4 4

  (实型)double 8 8 8 8

  构造类型

  数组:存储了n个相同基本类型的数据,举例:sizeof(int) * n 个字节大小

  char str1[5] = "haha"; // 只要用" "括起来的就是字符串,只要是字符串最后一位就是''

  char str2[5] = {'h', 'a', 'h', 'a','h'};

  str1[2] = 'm';

  printf("%s ", str1);

  int iarr[5] = {1, 2, 3, 4, 5};

  float farr[5] = {1.1, 2.2, 3.14,4.15, 5.001};

  结构体:存储了n个可以不相同基本类型的数据 struct

  联合体/共同体:存储n个可以不相同基本类型的数据,但是这种类型里的所有数据共享同一块内存空间,内存大小是最大的那个数据类型大小 union

  枚举:存储了n个相同基本类型的数据,但是使用的时候只能取其中一个值,内存大小是 sizeof(int); enum

  指针类型

  32位占4个字节,64位占8个字节

  int *p; // 指针类型变量p就是用来存储地址的,定义指针时候的数据类型,代表这个指针指向的内存空间里存储的值的类型

  int a = 10;

  p = &a;

  *p = 20;

  printf("%d ", a);

  char *str = "haha"; // char *str 和 char str[5] 都是存储字符串,但是str是一个指针,str是一个数组名

  printf("%s ", str); // char str[5] 存储的'"haha"是在栈区, char *str 指向的"haha" 是在常量区,str存储的是这个字符串在常量区的首地址。

  *(str + 1) = 'm'; // 错误!! 因为str里的内容保存在常量区,所以里面的值不可以修改。

  4. 空类型

  void 变量 :意思是空类型变量,不接受任何数据

  void 函数 :意思是该函数没有返回值

  void 指针 :意思是可以接收任何其他类型的指针

【C语言核心知识点相关总结】相关文章:

C语言数组知识点总结10-05

C语言知识点集锦09-25

C语言预处理的相关知识09-28

C语言基础知识点集锦01-28

C语言知识点及其简单应用10-02

C语言进制知识总结09-24

C语言for循环09-27

c语言课程设计总结11-29

c语言常见笔试题总结10-08

c语言中那些被忽略的知识点10-02