笔记
吃点好吃的
这个作者很懒,什么都没留下…
展开
-
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 · 207 阅读 · 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 · 533 阅读 · 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 · 234 阅读 · 0 评论 -
C的static
全局静态变量在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。static arry = [10];1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。好处:定义全局静态变量的好处:(1)不会被其他文件所访问,修改。(2)其他文件中可以使用相同名字的变量,不会发原创 2020-07-27 16:06:49 · 94 阅读 · 0 评论