C语言
文章平均质量分 53
一末淡笑
这个作者很懒,什么都没留下…
展开
-
void *指针的用法特点
指针有两个属性:指向变量/对象的地址和长度 但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针 void *vp //说它特别是因为转载 2018-01-31 16:25:53 · 220 阅读 · 0 评论 -
字符串指针问题
#includevoid copy(char *x,char *y){ for(;*y!='\0';x++,y++) *x=*y; *x='\0'; printf("%s\n",a);}int main(){ char *a="Hello!"; char *b="World!"; copy(a,b); return转载 2018-01-31 17:09:41 · 197 阅读 · 0 评论 -
更新顺序文件
许多系统中的标准输入/输出库都允许程序打开一个文件,同时进行写入和读出的操作: FILE *fp; fp = fopen(file, "r+"); 上面的例子代码打开了文件名由变量file指定的文件,对于存取权限的设定表明程序希望对这个文件进行输入和输出操作。 编程者也许认为,程序一旦执行上述操作完毕,就可以自由地交错进行读出和写入操作。遗憾的是,事实总难随人所愿,为了保持与过去不能同时进...转载 2018-02-11 14:06:49 · 258 阅读 · 0 评论 -
面试常客1---常见特殊结构的大小
结构体:struct unknown { int a; char b; int c; long d; char e;};printf("%lu\n", sizeof(struct unknown)); //output : 32 1、遇到第一个成员变量a,该成员偏移量为0,大小为4,符合偏移规则第一条。2、接下来第二个成员变...原创 2018-12-14 16:30:36 · 100 阅读 · 0 评论 -
面试常客2---sizeof和strlen的前世今生
char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响 总之,对于指针,sizeof操作符返回这个指针占的空间,一般是...原创 2018-12-14 16:32:04 · 139 阅读 · 0 评论 -
面试常客3---变量存储区划清界限
全局初始化变量:数据段全局未初始化变量:数据段(BSS)全局的、静态的(static)、初始化的变量:数据段全局的、静态的、未初始化变量:数据段全局的常量(const):代码段 局部初始化的变量:栈局部未初始化变量:栈局部的、静态的、初始化变量:数据段局部的、静态的、未初始化变量:数据段局部常量:栈 在C语言的程序中,对变量的使用还有以下几点需要注意...原创 2018-12-14 16:35:58 · 150 阅读 · 0 评论