C语言学习记录_2019.02.12
- “学计算机一定要有一个非常强大的心理状态,计算机不是黑魔法,都是人想出来的,别人能够想的出来,那么,总有一天,我也能够想的出来。”
- 指针类型的变量就是保存地址的变量。
- int* p=&i;------P是一个指针,P里面的内容为变量i的地址,即说P指向了i;
- int* p,q;------注意:*号仅仅加给了p,即语句意思为p为指针,而q为普通的整数类型;(c语言中无int* 这个类型)
- %P:指针类型格式;
- 运算符*:单目运算符,用来访问指针的值所表示的地址上的变量;即地址+*=变量的值;此时变量的值*i可以用来做左值和右值;
- 区别:仅仅传递值得时候,传递得只是表面的参数值的大小,地址值上的变量的值并未改变;而使用*号运算符之后,则被赋予了访问的能力,即读和写的能力,此时可以改变地址所在的地方上的变量的值。
- 函数参数表里面的数组,实质为指针,即数组的地址值;
- 等价的四种函数原型:
int sum(int *ar);
int sum(int *);
int sum(int ar[]);
int sum(int []);
- 数组变量是特殊的指针,即&a[0],a可以表示地址;但是数组的单元表示的是变量,即a[0],a[1],a[2]等表示变量;
- []运算符可以对指针做,也可以对数组做;
- *运算符可以对指针做,也可以对数组做;
- int b[];--->int *const b;即数组变量不可以被赋值,数组是一个不可改变的指针;
- 例:
- int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
- int *p = &a[5];
- 则p[-2]为54;
- 即[]运算符可以对指针做;
- char是一种整数,也是一种特殊的类型:字符;
- 用单引号‘ ‘表示字符的字面量:’a‘,’1‘;即ASCLL码表中的量值;例:’1‘==49;
- ’‘也是一个字符;
- %c用来输入输出字符;
C语言学习记录_2019.02.12的更多相关文章
- C语言学习记录_2019.02.10
sizeof:给出某个类型或某个变量在内存中占据的字节数:(1个字节8位,即8比特) 格式符 (1)%ld表示数据按十进制有符号长型整数输入或输出. (2)%d表示数据按十进制有符号整型数输入或输出. ...
- C语言学习记录_2019.02.23
char类型的输出: scanf("%d",&i);//i=49; char x=i; printf("x=%d\n",x); printf(" ...
- C语言学习记录_2019.02.07
C99开始,可以用变量来定义数组的大小:例如,利用键盘输入的变量来定义数组大小: 赋值号左边的值叫做左值: 关于数组:编译器和运行环境不会检查数组下标是否越界,无论读还是写. 越界数组可能造成的问题提 ...
- C语言学习记录_2019.02.05
switch只能判断整数,而分段函数的判别是一个范围,我们无法用整数来表示范围 跟踪语句的方法: (1)debug调试 (2)printf( )语句跟踪 小套路:当循环次数很大时,可以先模拟较小次数的 ...
- C语言学习记录_2019.02.04
逻辑性变量的定义符:bool,在C语言中只有true和false: 定义方式:bool t = true; 逻辑运算符: !:逻辑非 &&:逻辑与 ||:逻辑或 表达区间的错误形式:4 ...
- C语言学习记录_2019.02.02
变量在第一次被使用之前应该赋初值 scanf(“%d”,&price); scanf(“price%d %d”,&price); scanf中的东西一定是要输入的东西. 定义常量:c ...
- C语言学习记录_2019.02.09
打印字符串:%s--------printf("%s","abcd"); 打印字符串数组中某一位:%c--------printf("%c" ...
- C语言学习记录_2019.02.08
\n:换行: \t:制表符,相当于大空格: a[5]={2};<------->a[5]={2,0,0,0,0}; 数组初始化的方法:a[5]={0};即全部初始化为0: 数组初始化的 ...
- C语言学习记录_2019.02.06
break语句的作用:当执行到break,则跳出循环,免去不必要的循环次数,节省时间和资源.-----跳出循环,结束循环: continue:跳过这一次循环剩下的语句,进入到下一轮循环.-----跳到 ...
随机推荐
- redis介绍(5)主从复制
redis的主从复制: 主从复制介绍:redis的主从复制情况下,一个master节点下可以有多个slave节点,而且每个slave节点又可以有很多slave节点,形成很大的集群量级,我简单画个图,如 ...
- Mysql中的delimiter详解
初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程.触发器.函数等. 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其 ...
- python是如何找到对应的package的?
我们在写python代码或者阅读别人的代码时,可能会碰到对应module无法找到的问题,这时如何解决呢?我们如果对python解释器如何查找对应的module有比较深刻的理解,那么我们就可以轻松解决相 ...
- java笔记--守护线程的应用
守护线程的应用 Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程是为其他线程服务 --如果朋友您想转载本文章请注明转载地址"http://www.cnb ...
- Oracle EBS 获取完全的值集信息
SELECT fvs1.flex_value_set_name, fvs1.description, decode(upper(fvs1.longlist_flag), 'N', '值列表', 'Y' ...
- [UI] 精美UI界面欣赏[10]
精美UI界面欣赏[10]
- NSCopying简析
NSCopying简析 用到NSCopying的时候并不多,但还是有必要知道最基本的用途,比方说数组的拷贝操作,需要注意的是,数组的拷贝操作并不是执行了 copy 方法,而是需要执行 initWith ...
- django使用LDAP验证
1.安装Python-LDAP(python_ldap-2.4.25-cp27-none-win_amd64.whl)pip install python_ldap-2.4.25-cp27-none- ...
- Linux 系统的DNS配置文件
系统的DNS配置文件 方式一: 界面操作 setup -->界面配置网络,网关等 方式二: 修改配置文件 # 修改配置 ==>vi /etc/resolv.conf -->man r ...
- 在C中调用Matlab (转)
http://blog.163.com/rongting_chen/blog/static/164906844201252354518462/ http://www.ilovematlab.cn/th ...