
C
PluVER
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
霍纳法则(horner)
poly = 0;for (i = N; i >= 0; i--) poly = x * poly +a[i];上述代码用来计算F(x) = ∑ (0-N)Ai * x^i。其中,a[i]的值是高位的系数。原创 2017-04-30 14:46:57 · 839 阅读 · 0 评论 -
高位低位存储方式以及数组地址细节
int main(){ int array[] = {1, 2, 3, 4, 5}; int *ptr1 = (int *)(&array + 1); int *ptr2 = (int *)((int)array + 1); printf("%x\t%x\n", ptr1[-1], *ptr2); printf("%d\n", sizeof(int *)); return 0;}&a原创 2017-04-11 20:02:36 · 3050 阅读 · 0 评论 -
关于指针和字符串
下面几条语句。int *str;fgets(str, 20, stdin);这是不对的,因为系统没有给指针分配内存缓冲区。int str[1000];fgets(str, 20, stdin);这是可以的。int *str;str = "C language";这是对的,因为字符串自行分配了空间,相当于字符数组。此时赋给str的是字符串的首地址的值。原创 2017-04-15 12:49:31 · 266 阅读 · 1 评论 -
C99柔性数组
typedef struct st_type{ int a; int a[];}type_a; //statementtype_a *p = malloc(sizeof(type_a) + 100 * sizeof(int)); //定义一个大小为100的整型数组 注意,这里的结构体只是一个“模子”,后面跟着一个数组。原创 2017-04-15 08:55:49 · 326 阅读 · 0 评论 -
关于递归的一些思考
递归函数一般有两种模式,请看下面。#include #define CUTOFF 3void swap(int *a, int *b){ int temp; temp = *a; *a = *b; *b = temp;}void InsertionSort(int *array, int len) { int i, j, temp; f原创 2017-04-15 21:19:41 · 404 阅读 · 0 评论 -
typedef相关
顺便说一下,如何用只用两个变量交换两个变量的值。int a, b;a ^= b;b ^= a;a ^= b;这里就可以交换了,就是可读性很差....关于下面一行代码:typedef int INT;unsigned INT a;这是不可以的,因为typedef不支持这种数据类型的扩展。用#define是可以的。另外,对于下面一行代码:typedef原创 2017-04-20 16:49:31 · 278 阅读 · 0 评论 -
单链表堆栈测验括号匹配
#include #include typedef struct SymbolStack{ int symbol; struct SymbolStack *next; }*pstack;typedef struct SymbolStack stack;int IsEmpty(pstack s){ return s->next == NULL;}pstack Creat原创 2017-04-20 22:41:09 · 491 阅读 · 0 评论 -
基数排序(RADIX SORT
/*基数排序,单链表实现。*/#include #include #define N 3typedef struct bucket_tag bucket;typedef struct bucket_tag{ bucket *next; int value;}*pbucket;int fpow(int n, int k){ int i; int ppow =原创 2017-04-20 16:45:26 · 267 阅读 · 0 评论