C语言
th3103868414
从C语言开始
到C++截止
学了开发选了测试
在soc项目日复一日
展开
-
C语言 指针变量解引用——交换两个变量保存的数字
错误示范一、用一个临时变量保存其中一个变量值。在交换函数中定义一个临时变量tmp用于数字a,b数字交换的中间介质SHAPE \* MERGEFORMAT 用调试方式查看失败原因。在调试时用监视查看主函数中a和b的初始地址,如下图。 进入交换函数后交换函数的a和b的地址,如下图 、调用交换函数后主函数中打印函数内a和b的地址,如下图 由此可知a和b...原创 2019-03-04 16:50:06 · 513 阅读 · 0 评论 -
C语言 指针的定义
1、指针变量的定义int a =10;该语句表示定义一个整型变量值为10,a保存的数据为10,为了方便访问变量a,需要a的具体地址。int *p=&a;该语句表示定义一个变量p,该变量为整型指针变量,用于保存整型变量的地址。int**pp=&p;该语句表示定义一个变量pp,该变量是一个二级指针,用于保存指针变量的地址。定义指针变量时,*仅为表示变量p为指针变量。...原创 2019-03-04 16:38:27 · 5408 阅读 · 0 评论 -
C语言 #define和typedef区分
# define宏定义是字符替换,typedef是定义类型。# define INT int是将程序中字符为INT的字符全部替换为int,在编译预处理是进行简单的字符替换,不做正确性检查,不管含义是否正确,都进行替换。 typedef int INT是将INT定义为int型的字符类型,是采取像定义变量的方法来声明一种类型。使用# define PINT int ...原创 2019-03-04 16:31:53 · 373 阅读 · 0 评论 -
C程序4G虚拟地址空间
C程序4G虚拟地址空间1、从0X00000000到0X08048000是不可访问区,共128Mchar* p = NULL;strcpy(p,"hello");程序会崩溃,因为NULL为0地址,是不可访问的2、0X08048000到0X0804894是EFL头,和program头,0X0804894是程序的执行入口。3、.text段存储代码,权限只读。4、.data和.bss段...原创 2019-03-15 13:10:47 · 726 阅读 · 0 评论 -
主函数的参数
主函数的参数int main(int argc, char* argv[], char* envp[]);argc:传递的参数列表中参数的个数(argv的长度)argv:传递的参数列表envp:传递的环境变量,进程运行的环境,一般我们不需要传,可以继承上一级的内容。指定进程工作的方式。主函数不传参数时默认传入一个参数,运行时的./main可以通过下列程序打印a...原创 2019-04-09 17:28:02 · 427 阅读 · 0 评论 -
printf和scanf缓冲区
1、printf和scanf缓冲区int main(){ printf("hello"); sleep(5); printf("world"); exit(0); return 0;}上面代码的执行情况为先睡眠5秒钟,再打印hello world原因是C语言中的scanf gets函数将输入内容放进输入缓冲区,printf puts将输出的内容放入输出缓...原创 2019-04-09 17:38:46 · 677 阅读 · 0 评论 -
进制和位运算典型题目
(一)二进制中的原码、反码、补码原码:正数的二进制数表示就是原码。负数的原码按照绝对值大小转换成的二进制数,然后最高位补1。反码:正数的反码和原码相同。 负数的反码和除符号位按位取反。补码:正数的补码和原码相同。 负数的补码为反码加1。计算机中,采用补码表示和存储。为什么采用补码:由于计算中的CPU只有加法器,没有减法器,所以在计算机采用原码...原创 2019-05-02 23:39:29 · 352 阅读 · 0 评论