C和指针
C和指针学习笔记
ColaForced
这个作者很懒,什么都没留下…
展开
-
C和指针:第十七章:经典抽象数据类型
第十七章:经典抽象数据类型堆栈实现/*接口声明 stack.h*/#define STACK_TYPE intvoid push(STACK_TYPE value);void pop( void );STACK_TYPE top(void );STACK_TYPE top( void );int is_empty( void );int is_full( void );/*静态数组实现 stack.c*/#include "stack.h"#include <asse原创 2021-05-24 12:05:39 · 96 阅读 · 0 评论 -
C和指针:第十一章:动态内存分配
第十一章:动态内存分配void *malloc(size_t size)void calloc(szie_t num_elements, size_t element_size)void realloc(void *ptr,size_t new_size)void free(void *ptr)常见错误:忘记检查是否分配成功 ;操作内存超出分配内存的边界定义如下不易发生错误的内存分配器,分别在文件alloc.h alloc.c test.c#ifndef CPOINTER_ALLOC_H原创 2021-05-23 21:10:17 · 103 阅读 · 0 评论 -
C和指针: 第九~十章:字符串和字节、结构和联合
第九章:字符串和字节strlen()返回结果为无符号数,常见错误有if((strlen(x) - strlen(y))>0)复制字符串:char *strcpy(char *dst, char const *src)连接字符串:char *strcat(char *dst, char const *src)strcat and strcpy 均返回第一个参数的一份拷贝,(指针)比较字符串:int strcmp(char const *s1, char const *s2)原创 2021-05-23 20:30:59 · 77 阅读 · 0 评论 -
C和指针: 第八章:数组
数组和指针不可替换情形:sizeof 和 &2[array]等价于*(2+(array))等价于*(2+array),该表达式是合法的下标操作效率永远不大于指针操作下标 [ ] 优先级高于 *一维数组数组名是指向数组第一个元素的指针多维数组数组名也是指向数组第1个元素的指针,但此时的第1个元素表示次级数组。例如,int matrix[3][10],matrix指向第1行,matrix+1指向第2行,*(matrix+1)是指向第2行第1个元素的指针,*(matrix+1)+5是指向第2行.原创 2021-05-23 17:41:20 · 131 阅读 · 0 评论 -
C和指针: 第七章:函数
第七章:函数函数调用之前若编译器没看到函数原型,则默认返回整形#include <stdio.h>/*值的1的位数的奇偶校验*/int even_vailidity(int value, int n_bits ){ int parity = 0; while( n_bits > 0) { parity += value & 1; value >> 1; n_bits -= 1;原创 2021-05-23 15:29:52 · 107 阅读 · 0 评论 -
C和指针: 第六章:指针
第六章:指针1字节=8位,1字=16/32/64位对指针解引用之前,需要检查确认其并未NULL指针*(int * ) 100 = 25; 把内存为100的地方赋值为25前缀++a:先自增后返回值; 后缀a++:先返回值后自增*,++这两个操作符都是从右向左结合,且后者优先级更高//假定如下条件char ch = 'a';char *cp = &ch;*(cp + 1) = 'f';//则根据从右向左规则有*++cp: 'f' 且cp指向‘f'*cp++: 'a' 且cp原创 2021-05-23 14:21:27 · 153 阅读 · 0 评论 -
C和指针学习笔记:第二~五章:基本概念 、数据、语句、操作符和表达式
第二章:基本概念翻译过程:编译(预处理、解析、优化)和链接函数局部变量存储于堆栈(动态分配内存),静态变量则存储在静态内存三字母词,e.g., ??( 表示 [注释不能嵌套第三章:数据四种基本数据类型:整型、浮点型、指针、聚合类型整形字面值后缀:L/l 表示long, U/u表示unsigned整形字面值前缀:0开头表8位数,0x开头表16位数, L表宽字符常量枚举类型:提高程序的可读性和可维护性#include <stdio.h>enum Months{Jan=原创 2021-05-22 22:35:11 · 106 阅读 · 0 评论 -
C和指针学习笔记: 第一章:快速上手
第一章:快速上手程序描述://我们所要分析的这个程序从标准输入读取文本并对其进行修改,然后把它写到标准输出。程序1.1首先读取一串列标号。这些列标号成对出现,表示输入行的列范围。这串列标号以一个负值结尾,作为结束标志。剩余的输入行被程序读入并打印,然后输入行中被选中范围的字符串被提取出来并打印。注意,每行第1列的列标号为零。//每个输入行的后面一行是该行内容的一部分.//出输入的第1行是一串列标号,串的最后以一个负数结尾.//这些列标号成对出现,说明需要打印的输入行的列的范围.//例如,0 3原创 2021-05-21 22:22:05 · 103 阅读 · 0 评论