![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言基础
Leapahead1949
今生活着的唯一意义,就在于超越今生
展开
-
C语言基础--拨开main函数的神秘面纱,深入解析main函数
写在前面:无论是C语言初学者还是已经工作了很多年的朋友,main函数天天都在用,但是我们有没有思考过main函数的各种特性呢?从第一节C语言课,就讲到了下面的这个例子:#include <stdio.h>int main(){ printf("Hello World!\n"); return 0;}这里用到了printf函数,这个函数式放在IO库里面的,所以要包含IO的头文件,这个我相信大家都知道。那这里我们有没有想过,下面为什么要加个return 0 呢?加个retur原创 2020-12-06 21:55:53 · 232 阅读 · 0 评论 -
C语言基础--深入理解指针常量和常量指针的前世今生
本文将要讲到的是关于指针常量和常量指针!平时我们会经常 见到以下几种类型: * 1)const int a; * int const a; * * 2)const int *p; * int const *p; // * * 3)int *const p; * * * 4)const int *const p; 上面代码中的1234对应的概念1)用const修饰一个变量,意思是将这个变量常量化2)常量指针:表示指针的原创 2020-12-05 11:52:19 · 148 阅读 · 0 评论 -
C语言基础--用实例深入理解数组指针
38 //数组指针example 1 39 int a[2][3] = {1,2,3,4,5,6}; 40 int i,j; 41 int *p = *a; 42 int (*q)[3] = a; //此处a和q的根本区别就是a一个常量,q是一个整形指针, 43 44 printf("%p %p \n",a,a+1); 45 printf("%p %p \n",q,q+1); 46 for(i .原创 2020-12-04 16:21:10 · 100 阅读 · 0 评论 -
C语言基础--深入理解二维数组的行指针和列指针(对于警告从不兼容的指针类型赋值的根本原因和解决方法)
首先上一段代码:1 #include <stdio.h> 2 #include <stdlib.h> 3 4 5 //套公式: TYPE NAME = VALUE 6 int main() 7 { 8 int a[2][3] = {1,2,3,4,5,6}; 9 int i,j; 13 printf("%p %p\n",a,a+1); 14 for(i = 0;i < 2;i++) 15原创 2020-12-04 14:43:27 · 967 阅读 · 0 评论 -
C语言基础-逆序问题的奥秘
C语言逆序问题,输入一个正整数,将其逆序输出。思路:第一步:将输入的number取余,例如输入number=24,则number取余得4,这个时候立即将4输出,显示在屏幕上,为了要形成连续的逆序显示效果,所以这里的打印输出不要用换行符。第二步:再次打印结果number/10的值,这时24/10=2,则再次打印这个2在屏幕上面由上面的第一步第二步的打印,就可以看到42被打印出来了,其秘诀就是先后打印,然后再组成一个值的效果。这样我们就能看到值反过来了。#if 1//example 4.9:Reve原创 2020-06-20 00:05:27 · 462 阅读 · 0 评论 -
C语言指针变量详细操作过程分析
1,指针变量#include<stdio.h>int main(void){ int i, * p; i = 1; p = &i; printf("%d", *p);}所谓指针变量也就是存放地址的变量如上代码段所示,定义一个指针变量p,注意使用了指针声明符号*,此时再使用取地址符号&取出整型变量i的地址,并且把这个地址赋给了p,下面再打印出p变量...原创 2020-03-29 17:32:54 · 295 阅读 · 1 评论 -
C语言中for双重循环实现过程(详细)
#include<stdio.h> int main(void){ int i, j; int a[3][2]; /*给二维数组赋值*/ for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) a[i][j] = i + j; } /*按照矩阵的形式输出*/ for (i = 0; i < ...原创 2020-03-29 16:13:26 · 17802 阅读 · 0 评论 -
C语言中格式化类型定义
C语言中的细节:%d 表示有符号十进制整数, %c 表示字符。这一类符号是“格式说明”用于格式输入与格式输出,就是我们常见的printf和scanf函数中在输入输出时,对不同类型的数据(如int,float,char等)要使用不同的格式说明:其中%d,用来输出十进制整数%f,用来输出实数(包括单,双精度),以小数形式输出%c,用来输出一个字符%s,用来输出一个字符串...原创 2020-01-19 22:42:15 · 588 阅读 · 0 评论 -
C语言基础2-预编译命令
#ifdef和#ifndef,这是条件编译的宏定义。一般程序在调试过程的编译跟正式发行的时候是不一样的,调试过程中可能有很多测试语句是用户不需要的,但是如果一行行删掉或者注释掉又很麻烦,并且如果发行之后又需要修改BUG又要用到之前的测试,重写也是很麻烦的。于是可以考虑用条件编译。首先可以写一个宏定义来表示是否按调试模式编译#define DEBUG然后需要写测试语句的时候都这样写#ifd...转载 2019-10-17 14:34:46 · 269 阅读 · 0 评论 -
C语言基础1-宏定义命令
宏定义宏定义编译指令是指以“#”开头,使用“define”作为宏定义的指令。宏定义是用一个标志符号来代替另外一个标志符号。宏定义的两种形式:1)变量式的宏定义:变量式的宏定义的书写类似于变量的生命,用来定义常量。#define Pi 3.1415926在宏展开后,所有的标志符号Pi都用3.1415926来代替。#include <stdio.h>#define PI ...原创 2019-10-16 08:38:40 · 1565 阅读 · 0 评论