如果一个函数需要改变外部一个字符串的内容(一般通过char 指针实现),那么参数的类型应该为char **.如果能通过int 指针来改变外部的int一样,想改变外部的字符串(即为char ),必须用char *,否则函数pass by value后,内部的指针改变不会影响到实参指针的改变。
gets函数可以接受带空格的字符串
free某个指针后,该指针是可以使用的(地址有效),但*p不可以.
链表的排序对链表node的交换有两种方法,一种是交换node的data field,不改变node的指向关系。另一种是改变node的连接实现node的交换,操作较为复杂.
在complicated declaration中,对于任何指针,想描述它的类型,就一定要把它和星号一起括起来,如int (fpa[2])(int)*
将函数先声明再实现,函数名事实上是一个指针!!!因此可以将函数名赋值给函数指针数组的某一位
函数指针p,可以用p()调用函数,也可以(p)()*调用函数,本质上是一样的(可能存在隐式类型转换).函数名的值就是一个地址而已。对函数名或者函数指针解引用得到的还是原来的地址值,没有任何改变。
-
字符输出输出函数(准确的说是宏):
-
输入:
- fgetc(FILE *): 从文件中读一个字符
- fgetchar(): 从标准输入设备中读一个字符(用fgetc实现)
- getc(FILE *): may be implemented as a macro
- getchar(): getc(stdin)实现
-
输出:
- fputc(int, FILE *)向文件中写一个字符
- fputchar(int): 向标准输出设备中写一个字符(用fputc实现)
- putc(int, FILE *): may be implemented as a macro
- putchar(int): putc((c), stdout)实现
-
-
基于字符串的文件读写:
-
字符串输入:
- char _gets(char *s)
- char _fgets(char *s, int n, FILE *stream)
-
字符串输出:
- int puts(const char *)
- int fputs(const char *, FILE *)
-
阅读C语言教材的一些收获
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...