C语言笔记
源代码杀手
大厂算法工程师经验、高校教师。
互相学习,共同进步!
展开
-
C语言使用技巧(十四):【链表技巧】结构体前一层与后一层数组元素的调用
1、调用前一层数组一ij = ss[0].arr[j]源码如下:#include <stdio.h>#include <stdint.h>#include <string.h>typedef struct _SSData0{ int ID[4];} SSData0;/*直接给结构体赋值*/typedef struct _SSData{ int arr[2]; SSData0 test_data[1]; //单个结构体属性原创 2020-09-25 14:33:21 · 175 阅读 · 0 评论 -
C语言使用技巧(四):遍历枚举类型的元素
一、遍历枚举类型#include <stdio.h> enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN} day;int main(){ // 遍历枚举元素 for (day = MON; day <= SUN; day++) { printf("枚举元素:%d \n", day); }}执行结果:注意:枚举类型不连续,则枚举无法遍历二、枚举在 switch 中的使用:#转载 2020-09-19 00:14:24 · 6136 阅读 · 6 评论 -
精解C语言最短路径算法:有向与无向图最短路径Dijkstra算法和节点输出
#include <stdio.h>#include <stdlib.h>#define max1 10000000; //原词条这里的值太大,导致溢出,后面比较大小时会出错int a[1000][1000];int d[1000]; //d表示源节点到该节点的最小距离int p[1000]; //p标记访问过的节点int i, j, k;int m; //m代表边数int n; //n代表点数int main(){ scanf("%d%d", &原创 2020-09-18 14:33:37 · 1684 阅读 · 3 评论 -
C语言使用技巧(二):使用char 和 unsigned char打印结果和typedef int nint32_t的使用
#include <stdio.h>int main(){ char *a = "abcd"; //无警告 signed char *b = "abcd"; //编译报警告 ”Initializing 'signed char *' with an expression of type 'char [5]' converts between pointers to integer types with different sign” unsigned char *原创 2020-09-18 13:51:54 · 6567 阅读 · 0 评论 -
C语言使用技巧(一):C语言枚举类型typedef enum作为函数返回值及函数参数
源码:#include <stdio.h>typedef enum _TEST_enum{ A = 2018, B, C,} TEST_enum;TEST_enum MAKE(int i){ if (i == 1) { return A; } if (i == 2) { return B; } if (i == 3) { return C;原创 2020-09-14 19:14:08 · 4984 阅读 · 0 评论