C语言代码复习笔记:第二章
输出星星
#include <stdio.h>
void printStart( int num ) {
while(num-->) {
printf("*");
};
}
int main() {
int n = , i;
for(i=; i<n; i++) {
printStart(i);
printf("\n");
}
printStart();
return ;
}
默认情况下, C++函数按照值传递参数, 这就意味着函数中定义的形参是新的变量, C函数通过通过使用拷贝, 保护了原始数据的完整性;
虽然C语言数组名就是一个地址指针, 但是它们仍然还是按照值传递的;
如果参数是数组的话, 默认传递的是数组的复制品:
#include <stdio.h>
void change(int array[]) {
array[] = ;
}
int main() {
int arr[] = {,};
printf("arr的第一个值是:%d\n", arr[]);
change(arr);
printf("arr的第一个值是:%d\n", arr[]);
return ;
}
输出为:
arr的第一个值是:
arr的第一个值是:
如果参数为数组,接收的参数设置为指针, 修改指针即会修改原来的数组:
#include <stdio.h>
void change(int *p) {
p[] = ;
}
int main() {
int arr[] = {,};
printf("arr的第一个值是:%d\n", arr[]);
change(arr);
printf("arr的第一个值是:%d\n", arr[]);
return ;
}
从一堆数组中找出指定的的数字:
#include <stdio.h>
#define NUMBER 5
int search(int *p, int n) {
int index = ;
printf("string\n");
while(true) {
if(*(p+index) == n) {
return index+;
}
printf("%d\n", *p);
index++;
}
return -;
} int main() {
int arr[NUMBER] = {};
int num;
int i = ;
for(i=; i<NUMBER; i++) {
printf("输入索引为%d的值\n", i);
scanf("%d",&arr[i]);
}
printf("输入需要查找的数字\n");
scanf("%d", &num);
int index = search(arr, num);
printf("找到的索引为%d", index);
return ;
}
静态变量, 静态变量
#include <stdio.h>
int foo = ;
void func() {
static int sx = ;
foo++;
sx++;
printf("%d--%d\n", foo, sx);
}
int main() {
func();
func();
func();
func();
return ;
}
输出:
--
--
--
--
如果声明了静态变量, 那么这个变量就会和函数挂钩, 相对于函数的属性, 静态变量只会初始化一次
数字后面不同的后缀,说明了不同的类型;
1u:unsigned int
1l:long
1ll: long long
1UL:unsigned long
0.5f:float
查看二进制数字包含1的进制位:
#include <stdio.h>
int count_bit(unsigned x) {
int count = ;
while(x) {
if(x & 1U) count++;
x >>= ;
}
return count;
}
int main() {
unsigned bits = ;
int length = count_bit(bits);
printf("length is %d\n", length);
return ;
}
如果数据太大, 超出了能够存储的大小, 计算结果会出现问题, 尴尬
C语言代码复习笔记:第二章的更多相关文章
- 《时间序列分析及应用:R语言》读书笔记--第二章 基本概念
本章介绍时间序列中的基本概念.特别地,介绍随机过程.均值.方差.协方差函数.平稳过程和自相关函数等概念. 2.1时间序列与随机过程 关于随机过程的定义,本科上过相关课程,用的是<应用随机过程&g ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”
[HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- 20172327 2018-2019-1 《第一行代码Android》第二章学习总结
学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...
- 深入理解 C 指针阅读笔记 -- 第二章
Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_ /*<深入理解C指针>学习笔记 -- 第二章*/ /* 内存泄露的两种形式 1.忘 ...
- STL源码分析读书笔记--第二章--空间配置器(allocator)
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ...
- Java编程思想笔记(第二章)
第二章 一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...
随机推荐
- delphi CreateAnonymousThread 匿名线程
引用 http://www.cnblogs.com/del/archive/2011/05/18/2049913.html 先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体): { ...
- 使用Axure RP原型设计实践06,登录验证
登录验证主要功能包括: ● 用户名错误,提示无效用户名,用户名和密码文本框清空● 用户名存在,密码错误,提示密码错误,密码清空,焦点进入密码框● 用户名和密码都正确,验证通过 本篇接着"使用 ...
- Android:调用其他程序中的activity和Permission Denial: starting Intent 错误解决办法
今天想调试多个task中栈的情况,在测试程序中调用另一个程序的activity, 代码片段如下: btnStartX=(Button)findViewById(R.id.btnStartX); btn ...
- 用TexturePacker打图集用于UGUI中
UGUI的原理则是,让开发者彻底模糊图集的概念,让开发者不要去关心自己的图集.做界面的时候只用小图,而在最终打包的时候unity才会把你的小图和并在一张大的图集里面.Editor->Projec ...
- CCLabelAtlas的宽度为奇数时的显示bug
遇到一个很郁闷的bug,CCLabelAtlas设置文字内容在ipad上和android上正常,就只有iphone怎么显示都不正常.后来把它宽度 + 1,然后就正常了.发现以前宽度设置为21px.23 ...
- ios成长之每日一遍(day 2)
接着下来简单说说Label(相当于android的textview)和button的使用, 由于都是与上篇的AppDelegate一致, 所以这一篇就说说ViewController与xib的使用呗. ...
- 浅谈Java Future接口
Java项目编程中,为了充分利用计算机CPU资源,一般开启多个线程来执行异步任务.但不管是继承Thread类还是实现Runnable接口,都无法获取任务执行的结果.JDK 5中引入了Callable和 ...
- [转]Win7与虚拟机VMware下运行的Ubuntu共享文件夹
From : http://blog.csdn.net/gaojinshan/article/details/9231853 安装VMware Tools,在VMware面板上选择“虚拟机-重新安装V ...
- [转]Redis作者:深度剖析Redis持久化
From : http://www.iteye.com/news/24675 Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能.持久存储.适应高并发应用场景等 ...
- Identifier:GUID (全局唯一标识符)
ylbtech-Miscellaneos-Identifier:GUID (全局唯一标识符) A,返回顶部 1, 全局唯一标识符(GUID,Globally Unique Identifier)是一种 ...