>C基础
记录下C编程中常出现的错误点和知识点
wangjl~
1730983350@qq.com
展开
-
c语言头文件编写
使用头文件的作用:当前.c文件要使用其它.c文件已定义的全局函数/全局变量时,对使用的全局函数/全局变量进行声明。头文件里一般存在的内容:文件包含:文件包含语句的功能是把指定的文件插入该语句行位置,从而把指定的文件和当前的源程序文件连成一个源文件。文件包含有两种方式:双括号包含和尖括号包含。但是这两种方式是有区别的:1.使用尖括号表示在系统头文件目录中去寻找(比如#define <...原创 2019-07-12 14:18:37 · 5780 阅读 · 1 评论 -
c语言中不同的存储类型所对应的段
再看这篇博文之前可以先看下我另一篇博文:linux内存映像分配参考:1.C语言 子函数return局部变量和栈地址 机制2.嵌入式linux C语言程序设计(书)3.什么是内部链接和外部链接,什么是空链接下面的程序已运行的情况说明:#define <stdio.h>#define SUM hello //字符串常量"hello"保存在.rodata段[extern] ...原创 2019-07-11 19:27:24 · 272 阅读 · 0 评论 -
经典数组内存地址程序分析
//在x86平台下, 分析以下代码的输出结果: #include <stdio.h>int main(int argc, const char *argv[]){ int a[4]={1,2,3,4}...原创 2019-07-08 20:55:26 · 577 阅读 · 0 评论 -
二维数组名不同表达形式解析
这里先给出程序:#include <stdio.h>int main(int argc, const char *argv[]){ char c[2][2]; printf("c=%p\t*c=%p\t&c=%p\n\r",c,*c,&c); printf("c+1=%p\t*c+1=%p\t&c+1=%p\n\r",c+1,*c...原创 2019-07-08 19:24:41 · 553 阅读 · 0 评论 -
c语言 -- typedef与#define
下面列出了使用typedef命名常用的格式及说明:原创 2019-07-09 12:20:48 · 231 阅读 · 0 评论 -
for循环的进一步分析
for循环等价于右边的while循环。首先计算表达式1的值,在计算表达式2的值,若值为真(不为0)则执行循环体一次,否则跳出循环。然后再计算表达式3的值,然后又到while出判断表达式2是否为真。当在循环体后加上break语句跳出本层循环,这样的结果是表达式3没有被执行。#include <stdio.h>int main(void){ for (int i =...原创 2019-07-08 15:09:10 · 261 阅读 · 0 评论 -
指针、函数、数组三者组合分析
数组指针和指针数组1).数组指针:指向数组的指针,例如:char (*p)[3];List item原创 2019-07-06 19:12:17 · 350 阅读 · 0 评论 -
一维数组名、取数组首元素地址、取数组名地址三者值与含义辨析
在这里以一维数组举例:char c[5]={};1.数值名c是一个地址常量,表示数组首元素的地址2.&c[0]也表示数组首元素的地址3.但&c表示的是整个数组的首地址。这三者的地址值是相同的,但第3与1、2含义却不一样,1与2不管是地址值还是含义都是一样的。下面给出程序验证:可以看到,c+1和&c[0]+1是以一个char型大小为单位增加的,而&c...原创 2019-07-05 21:09:56 · 4779 阅读 · 2 评论 -
无符号与有符号类型转换和值为负数情况
我们知道,当一个整型变量为有符号时,一般不管是赋正数还是负数,只要赋的值不超过该变量类型所表示的范围,值是不会变的。但当给无符号整形变量赋予负数值时,该变量会发生180度的变化。比如给一个无符号的char型变量a赋予-1时,该变量实际上值会变成255。给一个无符号的int型变量b赋予-1时,该变量实际上值会变成4294967295。这种现象平常会发生在隐式转换中,比如在下面两个题中,判断一下...原创 2019-07-05 20:46:09 · 4462 阅读 · 0 评论 -
c语言中的”与断路“现象和“或断路”现象
与断路现象结果:可以看到a<0的结果为假,与后面的语句没被执行。或短路现象结果:可以看到,a>0为真,或后面的语句没有被执行。原创 2019-07-05 19:28:36 · 513 阅读 · 0 评论 -
浮点数在内存中的存储形式
浮点数在内存中的存储形式原链接:https://blog.csdn.net/kantswang/article/details/80806465a.他是以实型的数据来存储的,即指数的形式来存储的。由于指数形式的小数点可以随便的移动,就像可以浮动似的,所以把这种形式称为浮点数。b.这里要说的规范化的指数形式:小数点前一位的数字为0,小数点后第一位的数字不为0。c.存储的形式:如下图23 +...转载 2019-07-02 16:21:49 · 1026 阅读 · 1 评论 -
指针变量与数组的关系及什么是指针数组
指针变量与数组的关系及什么是指针数组:一维数组:数组原本就是以指针的格式使用的,数组名a相当于char * const a。但这里需要注意的是数组名表示的是一个数组的首地址,是一个地址常量,不能给地址常量赋值,但能改变该地址所指向的内容,比如之前a首地址存放的内容为1,可以使用a=2改变该地址单元里的内容。在输出数组元素的值时一般以a[0]形式输出,该a[0]形式相当于a、*(a+0)。...原创 2019-06-25 09:16:20 · 4537 阅读 · 0 评论 -
c语言中的逻辑值
说明: 逻辑值有两种:“真”和“假”。非0为真,否则为假。c语言没有提供逻辑值给用户使用,c++提供了以True表示真,False表示假。条件判断、关系运算符、逻辑表达式的结果都是逻辑值。由于c语言的灵活特性,以1代表逻辑“真”,以0代表逻辑“假”。测试: 由结果可以看到非0代表真,执行了if下的输出语句,说明了条件判断是以逻辑值去判别的。而1逻辑与5的结果为1,-7逻辑与0的...原创 2019-08-03 20:30:21 · 8992 阅读 · 0 评论