掘友等级
菜鸟,只能分享基础技术知识.
打着学习的旗号,购买了各式各样的电子产品。
马上中年危机了,还没实现财务自由。
获得徽章 8
fopen()的模式字符串有以下几种。
r:读模式,只用来读取数据。如果文件不存在,返回 NULL 指针。
w:写模式,只用来写入数据。如果文件存在,文件长度会被截为0,然后再写入;如果文件不存在,则创建该文件。
a:写模式,只用来在文件尾部追加数据。如果文件不存在,则创建该文件。
r+:读写模式。如果文件存在,指针指向文件开始处,可以在文件头部添加数据。如果文件不存在,返回 NULL 指针。
w+:读写模式。如果文件存在,文件长度会被截为0,然后再写入数据。这种模式实际上读不到数据,反而会擦掉数据。如果文件不存在,则创建该文件。
a+:读写模式。如果文件存在,指针指向文件结尾,可以在现有文件末尾添加内容。如果文件不存在,则创建该文件。 C语言,弹性数组成员,这个很常用。
struct vstring {
int len;
char chars[]; // 不给出数组的具体长度。
};
C语言中,struct作为参数传入函数中,函数内部得到的是一个副本!所以一般都是指针作为参数
char *b占用8个字节,导致其他属性和他对齐,也占8个字节!?
C语言,数组名指向的地址是不能变的。所以如果想遍历数组,需要将 int * pNew= arr; 通过新的指针变量pNew++遍历数组。
C语言,多维数组也可以指定位置,进行初始化赋值。
int a[2][2] = {[0][0] = 1, [1][1] = 2};
C 语言中,
int a[5];
a = {22, 37, 3490, 18, 95}; // 报错
上面代码中,数组a声明之后再进行大括号赋值,导致报错。
下一页