C总结-关键字 static const extern

简介: C总结-关键字 static const extern

exten关键字总结

总结


C++ 引用C 例子

  extern_cpp.cpp
  1 #include <stdio.h>
  2 
  3 extern "C" int var;
  4 extern "C" void function();
  5 
  6 
  7 // c++ 支持函数重载,所以在编译过程当中c/c++ 对函数的命名方式是不一样的。
  8 int main() {
  9 
 10     function();
 11     var = 100;
 12 
 13     printf("cpp var %d \n",var);
 16 }
~     
extern_c.c
1 #include <stdio.h>
  2 
  3 int var = 99;
  4 
  5 void function(){
  6     printf("show extern_c varl %d \n",var);
  7 }
编译
root@VM-24-3-ubuntu:~/interview/cpass/extern# gcc extern_c.c -c
root@VM-24-3-ubuntu:~/interview/cpass/extern# gcc extern_cpp.cpp -c
root@VM-24-3-ubuntu:~/interview/cpass/extern# gcc extern_c.o extern_cpp.o -o extern_cplus
root@VM-24-3-ubuntu:~/interview/cpass/extern# ./extern_cplus 
show extern_c varl 99 
cpp var 100 ~                                                                                                                    
~        
目录
相关文章
|
3月前
|
存储 编译器 C语言
详解C/C++中的static和extern
本文详解了C/C++中`static`和`extern`关键字的用法和区别,通过具体代码示例说明了在不同情境下如何正确使用这两个关键字,以及`extern "C"`在C++中用于兼容C语言库的特殊作用。
110 4
详解C/C++中的static和extern
|
4月前
|
存储 C语言
【C语言函数】static和extern关键字修饰
【C语言函数】static和extern关键字修饰
|
7月前
|
存储 C语言
static和extern
`static`和`extern`是C语言的关键字。`static`用于修饰局部变量、全局变量和函数,改变它们的生命周期和作用域。局部静态变量在函数结束后不会销毁,保持其值直到程序结束。全局静态变量限制为只在当前源文件可见,减少命名冲突。`extern`则用于声明外部已定义的符号,使得在其他文件中可以访问该全局变量或函数。总的来说,`static`和`extern`影响变量和函数的可见性和存储持续时间。
44 0
|
7月前
|
存储 C语言
static和extern详解
static和extern详解
63 0
|
存储 C语言
常见关键字 typedef以及static的介绍
常见关键字 typedef以及static的介绍
83 0
|
存储 编译器 C语言
C语言关键字之extern和static
C语言关键字之extern和static
102 0
|
存储 编译器 C语言
C语言关键字详解(二) 带你全面了解 static 关键字
C语言关键字详解(二) 带你全面了解 static 关键字
122 0
C语言关键字详解(二) 带你全面了解 static 关键字
|
编译器 C++
C++11 static_assert关键字
C++11 static_assert关键字
139 0
C++11 static_assert关键字
|
存储 编译器 C++
关于static和const的解释
关于static和const的解释
|
存储 编译器 iOS开发
iOS 常用关键字 static、const、 extern、define
const 常量: 共享一块内存空间,就算项目中N处用到,也不会分配N块内存空间,可以被修改,在编译阶段会执行类型检查. 全局常量 包括在 .h .m 文件除非 ****@implementation**** 作用域内声明的, 都属于全局常量, 都可能由外部进行访问。
1448 0