C知识总结
文章平均质量分 86
Solieaor
这个作者很懒,什么都没留下…
展开
-
char*与char []的区别
char*与char[]的讨论来源于这么一段代码。#include <stdio.h>#include <string.h>int main(){ char str[] = "hello"; //char* ptr = "hello"; char* tmp = str; tmp+=strlen(str)-1; *tmp = 's'; printf("%c\n", *tmp); return 0;}如果把上面的原创 2020-11-17 21:04:12 · 340 阅读 · 0 评论 -
snprintf返回值陷阱封装
snprintf函数snprintf()函数用于将格式化的数据写入字符串,其原型为:int snprintf(char *str, int size, char * format [, argument, ...]);str为要写入的目标字符串;size为能写入的字符的最大数目,超过n会被截断,包括’\0’符,所以能最大写入的其实是size-1个字符;format为格式化字符串,使用方式与printf()函数相同;argument为变量,可为多个,取决于format,这里的使用方式与prin原创 2020-08-20 16:59:30 · 538 阅读 · 0 评论 -
自定义类型:联合体知识点总结
联合体: 和结构体形式差不多,都是包含一系列的成员。但是联合体相较结构体来说有一点特殊就是:联合体的所有成员共用一快内存空间。//联合体的声明 union Un{ char c; int i; }; union Un un;//定义一个联合体变量 第一个成员变量的地址跟联合体的地址一样,这点跟结构体类似。联合体的特点:成员共用一个内存空间,这样联合体的大小,至少是最大成员的...原创 2019-04-27 12:16:32 · 281 阅读 · 0 评论 -
自定义类型结构体知识点总结
结构体结构是一些值的集合,这些值称为成员变量,并且这些成员变量可以是不同类型的;一、结构体类型的声明struct tag//结构体类型名称{ member-list;//成员变量列表}variable-list;//结构体变量还有一种特殊的声明,就是匿名结构体。即省略结构体类型的名称...原创 2019-04-23 15:48:06 · 182 阅读 · 0 评论 -
C语言文件操作知识点总结
C语言文件操作1、文件:磁盘上的文件,一般我们谈的文件有两种:程序文件和数据文件程序文件:源程序文件后缀为.c,目标文件后缀为.obj,可执行程序(windows环境下为.exe)。数据文件:程序运行需要从中读取的文件,或者输出内容的文件。2、文件名:文件路径+文件名主干+文件后缀文件路径分为绝对路径和相对路径,两者怎么区分?绝对路径:以盘符或者根目录开头的如C/D:相对路径:...原创 2019-04-23 23:22:50 · 3744 阅读 · 2 评论 -
隐式类型转换的陷阱
隐式类型转换的陷阱//输出什么? #include <stdio.h>int main() { char a= -1; //第一次隐式类型转换,-1是int型,要被隐式转换为有符号char型signed char b=-1; // 跟上面一样,-1是int型,要被隐式转换为有符号char型unsigned char c=-1; //-1是int型,要被转换成无符...原创 2019-05-08 10:12:29 · 247 阅读 · 0 评论 -
动态内存管理的一些坑
为什么要使用动态内存 ?之前我们学到的内存开辟方式是在栈上开辟一段空间大小固定,地址连续的内存空间。如果我们申请了100个字节的内存空间,但是我们最后只用了10个字节,这样就会极大的浪费我们的内存空间。更重要的是我们使用静态连续的地址空间时,如果我们输入的元素超过了数组的长度,有些编译器也不会报错,它会把数组存满,剩下的元素就是随机的值。动态内存管理就是解决在运行时才知道所需的空间大小的数组的...原创 2019-05-09 10:34:49 · 205 阅读 · 0 评论 -
C语言知识点总结
转载 2019-05-21 08:10:53 · 100 阅读 · 0 评论