
笔记
吃点好吃的
这个作者很懒,什么都没留下…
展开
-
extern
C的extern 说明了a的存储空间是在程序的其他地方分配的,在文件中其他位置或者其他文件中寻找a这个变量。分配内存时就是定义这个变量的过程,int a = 0;即分配了内存,extern int a; 只是在声明。 最优用法 例如a.c文件中定义int a = 5和一个函数,在a.h里写extern int a;,如果要在其他文件里调用a这个变量和函数,直接#include<a.h>即可。 a.h声明,a.c定义,b.c里包含a.h直接使用变量; ...原创 2020-08-21 09:41:07 · 229 阅读 · 0 评论 -
C语言定义字符串
字符串定义 本质上是以“\0”结尾的特殊字符数组; 具体实例 char name[6] = {'a', 'b', 'c', 'd', 'e'}; 字符数组里没加‘\0’的时候,字符串长度应为字符串实际长度+1; char name[] = {'a', 'b', 'c', 'd', 'e', '\0'}; char name[] = 'abcde'; 这种写法等价于方式2. 深度理解存储方式 案例1 运行结果: 对比案例: 运行结果: 分析如下: abcde由低到高存储,再来另一个abcd的时候在原创 2020-07-29 15:22:46 · 558 阅读 · 0 评论 -
C库函数snprintf()
snprintf() #include <stdio.h> #include <stdlib.h> int main(){ char str[10]={0,}; snprintf(str, sizeof(str), "0123456789012345678"); printf("str=%s/n", str); return 0; } 声明 int snprintf ( char * str, size_t size, const char * format, ... ); 参数原创 2020-07-29 09:37:22 · 253 阅读 · 0 评论 -
C的static
全局静态变量 在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。 static arry = [10]; 1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在) 2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化) 3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。 好处: 定义全局静态变量的好处: (1)不会被其他文件所访问,修改。 (2)其他文件中可以使用相同名字的变量,不会发原创 2020-07-27 16:06:49 · 125 阅读 · 0 评论