C Note 20210826

栈帧

  • 当函数调用时,系统会在STACK空间上申请一块区域,供函数使用。
  • 主要存放形参局部变量
  • 当函数调用结束,内存会被释放(并不)。
  • 一般来说是连续的。

字符串与指针

char str1[] = "Hello";    //{'H', 'e', 'l', 'l', 'o', '\0'}
char * str2 = "Hello";    //"Hello" 为常量,不可修改

当字符串作为函数参数时,不需要传长度,因为每个字符串都带有 '\0' 结束标记。

main函数的参数

int main(int argc, char * argv[]);
  • argc 传参的数量
  • argv[] 传参的具体内容
./a.out hello world
argc == 3
argv = {"./a.out", "hello", "world"}

其他

  • 指针作为返回值时,不能返回局部变量。
Avatar photo 心有所向,日复一日,必有精进。 Twitter Tweet