C语言
选择的是在ubuntu下进行编写程序
剑气长城二掌柜
这个作者很懒,什么都没留下…
展开
-
两种变量、四种存储类以及他们的存储区、生存期与作用域....
一、两种变量 局部变量:在函数内部定义 全局变量:在函数外部定义 二、 四种存储类 auto (自动类型): 修饰局部变量auto int a; 平时定义的变量都是自动变量,auto可以省略 , 没有赋初值为随机数 ,栈空间存放 ,从定义位置开始,到当前代码块结束,即局部变量用完就释放 ,作用于当前代码块。 register (寄存器类型): 修饰局部变量 register int a; 平时的变量都保存在栈中,如果有一些数据需要频繁存取,将数据存储到寄存器中,方便存取。 static (静态): ①修原创 2020-07-07 20:02:29 · 186 阅读 · 0 评论 -
C语言的那些事-----运算符
首先,关于运算符的优先级,在网上查了,描述较为具体的帖子有这个https://blog.csdn.net/changexhao/article/details/82556761 同时,在使用强制类型转换时,犯了初级错误,代码如下 运算结果为3,原本是觉得a=(int)(1.5+0.5+12),于是乎结果为4,思考过程中出现的错误想法是,习惯性地将3/2计算得1.5,实际上3与2都是整形,故而(3...原创 2020-02-19 21:26:58 · 110 阅读 · 0 评论 -
C语言的那些事-----输入输出
话不多说,直接上代码 a,b是整型变量,b是浮点型,c是字符型,scanf()函数的内容是,输入的内容从左到右分别是: 输入宽度为2的整数给a,跳过宽度为2的整数,输入有效位数为2的浮点数给b,输入宽度为2的字符数据给c, 其余的整数给d 就是这样的功能。 没有理解的有以下几点: 一、输入的34为何省略了,scanf()中的"%*2d"代表什么? 代表的是直接跳过了宽度为2的的整型数据,即忽略两...原创 2020-02-21 18:53:57 · 490 阅读 · 0 评论 -
const修饰指针变量*p
1,const int *p=&a; / int const *p=&a; 解释:const 修饰 *p ,*p被常量化, p只读即为数值不改变,无法写入,不能被修改 ,不能通过p修改a的值,如图所示,正常情况下是可以通过修改指针变量p的值来改变整型变量a的值,但一旦加上const,将在编译时出现read-only的报错,即为指针只读,无法修改。 但是可以对指针p重新赋值,让p指向其他变量,参考下图,无法直接操作指针变量指向的数值,但可以改变指针p存储的地址,指向另一个变量b 2,原创 2020-07-03 19:50:47 · 664 阅读 · 0 评论 -
函数、数组、指针的结合
1、数组与指针的结合使用 数组名是数组首地址,是一个指针常量,如 int a[10],关系上:a == &a[0],对于二维数组,也有类似的关系,如 int a[2][4],其中 &a[0][0] 、 a 、 &a[0] 、a[0] 在数值上是相等的,都表示首地址,在关系上:a==&a[0] ;a[0]=&a[0][0] ;a[1]=&a[1][0];可参考下面代码的执行结果: #include<stdio.h> int ma原创 2020-07-05 10:48:44 · 190 阅读 · 0 评论 -
#字符、字符串、字符串函数
1、字符 ①字符的输入:scanf( ),getchar( ) 其中比较常用的是getchar( ),函数原型是getchar(void),从键盘获取一个字符,进行输入时,遇到回车符时结束输入,将存储的第一个字符存在缓冲区中。 1 #include<stdio.h> 2 //#include<string.h> 3 int main(void) 4 { 5 char ch; 6 ch=getchar(); 7原创 2020-07-06 19:36:37 · 99 阅读 · 0 评论