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:跳过这一次循环剩下的语句,进入到下一轮循环.-----跳到 ...
随机推荐
- -webkit-min-device-pixel-ratio: 2是什么意思?
DPI(DPR) stands for Dots Per Inch which technically means printer dots per inch. 这个参数实际上量化了屏幕的物理分辨率和 ...
- apache2.2+php5.3+mysql5.5+Zend Guard Loader集成包
由前一篇文章 http://www.cnblogs.com/darktime/p/3407980.html 我就配置了一个环境包,免安装的,只需要运行一个.bat的文件文件就算安装成功了 如果你需要用 ...
- 解决initializing java tooling(1%)
这是wtp的一个bug,下载附件runtimePatch_327801.zip,解压,放到eclipse下,重启就好了.
- Oracle EBS AR 收款API收款方法标识无效
1.确认是不是没有收款方法 methods那个表的问题2.查看收款方法那个LOV的问题3.界面录入 是否会有问题 碰到的问题是 收款日期比较早时 找不到对应的收款方法 银行账户需要重新设置
- Oracle EBS PO采购订单更新
DECLARE l_result NUMBER; l_progress NUMBER; l_errors PO_API_ERRORS_REC_TYPE; l_chg PO_CHANGES_REC_TY ...
- 1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式
跟踪标记:1117 功能: 默认,同一个文件组下的多个文件,如果某个文件没有可用空间,且设置了自动增长,则该文件自动增长,其他文件大小保持不变: 开启后,同一文件组下的多个文件,如果某个文件没有可用空 ...
- Linux 系统的/var目录
/var目录主要针对常态性变动的文件,包括缓存(cache).登录档(log file)以及某些软件运作所产生的文件 /var目录下的重要目录 目录 应放置文件内容 /var/cache/ 应用程序本 ...
- Ubuntu16.04安装redis和php的redis扩展
安装redis服务 sudo apt-get install redis-server 装好之后默认就是自启动.后台运行的,无需过多设置,安装目录应该是 /etc/redis 启动 sudo ser ...
- buff/cache 内容释放
oscache远程服务器特别卡,top命令查看获得 buff/cache 占据内存特别大,使用以下命令清理缓存: swap清理: swapoff -a && swapon -a 注意: ...
- Office 365 Pass-through身份验证及Seamless Single Sign-On
Hello 小伙伴们, 这篇文章将视点聚焦在传递身份验证(Pass-through Authentication)上,将分享如何安装,配置和测试Azure Active Directory(Azure ...