C语言
CBCU
这个作者很懒,什么都没留下…
展开
-
C和指针_第2章_基本概念_学习笔记
1.三字母词三字母词 代表词??( [??)]??!|(或)??<{??>}??'^??=#??/\??-~2.转移字符转移字符介绍\?在书写连续多个问号时使用,防止被解释为三字母词\"用于表示一个字符常量内部的双引号\'用于表示一个字符常量内部的单引号\\用于表示一个反斜杠,防止被解释为一个转义字符\a警告字符。它将奏响终端铃声或产生其他一些可听见或可看见的信号\b退格键\...原创 2018-04-17 21:44:31 · 109 阅读 · 0 评论 -
C和指针_第14章_预处理器_学习笔记
1.预定义符号 下表总结由预处理器定义的符号。他们的值或者是字符串常量,或者是十进制数字常量。__FILE__和__LINE__在确认调试输出的来源方面很有用处。__DATE__和__TIME__常用语在被编译函数中加入版本信息。__STDC__用于那些在ANSI环境和非ANSI环境必须进行编译的程序中结合条件编译。预处理符号符号样例值含义__FILE__"name.c"进行编译的源文件名_...原创 2018-05-05 18:49:00 · 156 阅读 · 0 评论 -
C和指针_第13章_高级指针话题_学习笔记
2.高级声明int *func();int (*func)();int *arr[];int (*func[])(); 第1行声明一个返回值为int型指针的函数。()优先级高于间接访问操作符*。 第2行的第2对括号是函数调用操作符,但第1对括号只起到聚类的作用。它迫使间接访问在函数调用之前进行,使func成为一个函数指针,它所指向的函数返回一个int值。 第3行声明一个数组...原创 2018-05-05 15:54:26 · 347 阅读 · 0 评论 -
C和指针_第12章_使用结构和指针_学习笔记
2.单列表插入函数示例#include <stdlib.h>#include <stdio.h>typedef struct Node{ struct Node *link; int value;}Node;int sll_insert( register Node **rootp, int new_value ){ register Node *cur...原创 2018-05-05 14:35:59 · 209 阅读 · 0 评论 -
C和指针_第11章_动态内存分配_学习笔记
2.内存分配void *malloc( size_t size );void free( void *pointer); malloc(stdlib.h)的参数是需要分配的内存字节(字符)数。如果内存池的可用内存可用满足这个需求,返回一个指向被分配的连续的内存块的起始位置的指针。如果内存池为空,或者可用内存不足满足要求,操作系统会返回一个一个NULL指针。对于要求边界对齐的机器,mallo...原创 2018-05-05 09:52:51 · 153 阅读 · 0 评论 -
C和指针_第10章_结构和联合_学习笔记
1.结构struct { int a; char b; float c;}x;struct { int a; char b; float c;}y[20], *z;警告:以上两个声明被编译器当做两个截然不同的类型。即y和z为同一类型,但与x类型不用。 使用结构标签声明结构:struct SIMPLE{ int a; char b; float c;}; 此时...原创 2018-05-04 18:42:34 · 127 阅读 · 0 评论 -
C和指针_第16章_标准数函数库_学习笔记
1.整型函数 这组函数返回整型数值。分为算术、随机数和字符串转换 1.1算术<stdlib.h>int abs( int value );long int labs( long int value );div_t div( int numerator, int denominator );ldiv_t ldiv(long int numer, long int den...原创 2018-05-10 21:35:15 · 293 阅读 · 0 评论 -
C和指针_第15章_输入输出函数_学习笔记
1.错误报告 perror函数一种简单、统一的方式报告错误。标准库函数在一个外部整型变量errno(在errno.h中定义)中保存错误代码之后把这个信息传递给用户程序,提示操作失败的准确原因。perror函数简化向用户报告这些特定错误的过程。定义于stdio.h中:void perror( char const *message ); 如果message不是NULL并且指...原创 2018-05-10 11:25:48 · 220 阅读 · 0 评论 -
C和指针_第9章_字符串、字符、字节_学习笔记
2.strclen、strcpy、strcat、strcmpstrlen注意:size_t strlen( char const *string); strlen返回的值是无符号整型。所以以下代码注意:if( strlen( x ) >= strlen( y ) )//不等价于if( strlen( x ) - strlen( y ) >= 0 ) //该语句永远为真...原创 2018-05-03 17:25:31 · 223 阅读 · 0 评论 -
C和指针_第5章_操作符和表达式_学习笔记
1.复合赋值符a +=expression;//等价于a = a + ( expression );2.单目运算符++、--只能作用于可以位于赋值符号左边的表达式,即只能用于变量。前缀和后缀形式的增值操作符都复制一份变量的拷贝。3.逻辑运算符&&从左操作数求值,真才对后操作数求值。短路求值(short-circuited evaluation)4.逗号操作符表达式从左至右逐个求...原创 2018-04-21 11:44:05 · 137 阅读 · 0 评论 -
C和指针_第8章_数组_学习笔记
1.22[arry] = *(arry + 2) = arry[2]1.3下标绝不会比指针更有效率,但指针有时会比下标有效。结论: 1.当根据某个决定数目的增量在一个数组中移动的时候,使用指针比使用下标产生效率更高的代码。当这个增量是1并且机器具有地址自动增量模型时,这点表现更突出。 2.声明为寄存器变量的指针通常比位于静态内存和堆栈中的指针效率更高。 3.如果可以通过测试一些...原创 2018-05-02 18:35:20 · 139 阅读 · 0 评论 -
C和指针_第7章_函数_学习笔记
函数压栈顺序是从右往左1.可变参数列表可变参数列表是通过宏来实现的,这些宏定义于stdarg.h头文件,它是标准库的一部分。这个头文件声明了一个类型va_list和三个宏——va_start、va_arg和va_end。我们可以声明一个类型为va_list的变量,与这几个宏配合使用,访问参数的值。(注意:可变参数必须从头到尾的按照顺序逐个访问。可以在访问几个参数后终止,但不能一开始就访问参数列表中...原创 2018-05-02 15:18:30 · 100 阅读 · 0 评论 -
C和指针_第3章_数据_学习笔记
1.typedeftypeof char *ptr_to_char;ptr_to_char a, b;//等价于char *a , *b;//若如下则不然#define d_ptr_to_char char*d_ptr_to_char a ,b;//等价于char *a;char b;2.常量//关于指针和常量int const *ptr;这是一个指向整型常量的指针。可...原创 2018-04-17 21:50:40 · 127 阅读 · 0 评论 -
C++Primer_Chap09_顺序容器_List05_string操作_笔记
n、len2和pos2都是无符号值 string s( cp, n) s是cp指向的数组中前n个字符的拷贝。此数组至少应该包含n个字符 string s( s2, pos2) s是string s2从下标pos2开始的字符串的拷贝。若pos2>s2.size(),构造函数的行为未定义 string s(s2, pos2, len...原创 2018-10-18 14:51:49 · 113 阅读 · 0 评论