
C basis
AnimateX
预测未来最好的方法就是实现未来
展开
-
C语言 字符串数组笔记
温故而知新,实则菜狗重新看下1. 引言字符串数组通常有两类,一种为长度固定了(下图左);一种长度不固定(下图右)。如下图所示:2. 使用这里将显示月份的switch-case替换成字符串数组。#include <stdio.h>int main(void){ const char *month_name[] = { "January", "February", "March", "April", .原创 2021-07-15 23:29:34 · 214 阅读 · 2 评论 -
深入理解GCC 编译
虽然平时经常用gcc来开发,但从没有细想过其内部怎么执行,其具体的流程又是如何。由于主力开发语言为C/C++,加上最近看C专家编程有感,决定写此博客,来加深自己的记忆。1 编译流程通常GCC的编译流程为:预编译-预处理源文件,生成.i文件:去掉注释、宏替换、增加行号信息等步骤;编译-编译预处理后的.i文件,生成.s汇编代码:代码语法分析、代码优化和汇总符号等步骤汇编-将汇编代码编译...原创 2019-12-08 15:21:24 · 620 阅读 · 0 评论 -
gcc scanf先于printf执行问题解决
问题背景:gcc 4.7 无论代码段中有多少printf,总是先执行scanf解决办法:setvbuf(stdout, NULL, _IONBF, 0);原创 2018-10-07 00:09:44 · 1620 阅读 · 0 评论 -
C语言基础 -- 纠正错误理解
1 对于以下代码段,正确的说法是:char *p;while (1) { p = malloc(1); *p = 0;}A. 最终程序会因为没有没有空间了而退出B. 最终程序会因为向0地址写入而退出C. 程序会一直运行下去D. 程序不能被编译答: 这里需要注意的是*p = 0。我直接选了A,就是忽略了这个情况。实际逻辑是,如果没有没有把null地址占用,就会一致...原创 2018-11-20 16:51:45 · 3226 阅读 · 0 评论