C语言notes

C语言中易遗忘的知识点,不定期更新。

指针数组与数组指针

  • 指针数组:存放指针的数组,即数组内存放的都是地址。常用于将两个一维数组组成一个二维数组:

  • 数组指针:指向一个数组的指针,即定义一个指针并且将它指向了一个相同类型的数组,该指针就叫数组指针。若要直接指向一个二维数组则需采用数组指针或数组:

给已知地址赋值

int32_t *addressone=(int32_t*)0xAAAAAAAA; 
*addressone=99;  

指向函数的指针

在C语言中,函数名就是函数所在地址,跟数组名一样

const常量声明关键字

  • 作用域随变量声明处变化,并不跟static一样放在静态存储区
  • const int k=10;等价于int const k=10;:k初始化后值将不可再改变
  • const int *k;:表示指向地址的内容不可改变
  • int *const k=&a;:表示k所指向的地址不可再发生改变,但是该地址的内容可以改变(初始化时必须有指向)

宏定义