Head First C 笔记
嗨翻c语言
1. 入门
- 为什么字符从零开始编号?
字符的索引数值表示的是一个偏移量,它表示的是当前所引用的字符与第一个字符之间差多少个字符。
- 单双引号的区别?
单引号 一个字符,双~ 字符串
- 字符串字面值和字符数组的区别?
前者是常量,一旦赋值,不能再修改。
- Break 和continue?
break是退出循环,continue是退出当前循环并且进行下一次循环。
break不能用于if语句。
2.储存器和指针
- 两张存储器图
图一
图二 一个学JAVA时用的图(来源博瑞思创—翁老师)
- Int *a =5
A 是一个指针变量,它保存一个地址,地址中保存一个int类型的数值5
- 指针的作用
指针可以避免副本的产生和共享数据。
- 指针像是一个遥控器,存储器像是一个冰箱。
存储器和指针的图
- sizeof(指针)
- 数组名做指针
int a []={,,};
int *b =a;
c=sizeof(a);
d=sizeof(b);
c = 3 d = 4/8 (32/64)
&a == a &b! = b
- 指针的退化
把数组赋给指针变量,指针变量就会只知道数组的地址信息,而不知道数组的大小。相当于指针丢失了一些信息,称这种信息丢失为退化。
数组变量不能指向其他地方
- 指针类型
指针也是有类型,char int 等,主要是在进行指针运算时可以根据指针类型进行转换,比如char类型的指针a ,a+1 存储器地址 +1
int类型的~b ,b+1 ~ +4
- 指针输出
int num[]={,,}
printf("%p",num);//地址
printf("%i",num[]);//数值
printf("%i",*(num+));//数值 char *msg="Hello"
puts(msg+)//字符
printf("%p",msg)//地址
- 指针的加法交换律(来源:百度)
int dose[]={,,}; dose[] == *(dose+) == *(+dose) ==[dose] 只要一个是指针,一个是整形就行。
用指针输入数据
fgets(food,sizeof(food),stdin);
scanf("%4s",food);
gets(food);
安全从高到低
scnaf遇到空格就会停止。(亲测有用)
- card[] or *card?
card []="qwe";//数组 一下这两个等价
void func(char card[])
{
//card 是指针
} void func(*card)
{
//card 是指针
}const与字符串常量
字符串常量都是只读的,不可修改。加了const以后,会在你试图修改const修饰过的变量时编译器报错。
- 字符串常量和字符数组
char * card="QWE"//不可修改
char car[]="BBB"//可修改
Head First C 笔记的更多相关文章
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- Java并发编程:Thread类的使用(转载)
一:线程的状态: 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解. 线程从创建到最终的消亡,要经历若干个状态.一般来说,线程 ...
- Java 得到泛型中得到T.class
Class <T> entityClass = (Class <T>) ((ParameterizedType) getClass().getGenericSuperclass ...
- apache (order allow,deny or deny,allow)
平台:"rhel6.2" 实验内容: "测试apache‘order allow,deny’ or ‘order deny,allow’ 功能" 配置文件:&q ...
- _0_web_基础
创:18_3_2017修:20_3_2017 什么是前端? --在浏览器中展示内容以及处理请求 什么是浏览器? --一款能将网页内容展现给用户查看,并且让用户与网页交互的软件 什么是内核? --渲染引 ...
- 爬虫_网页url设计
为什么需要网页URL设计? 每个url不同的结构代表着不同的网页模块和信息的展现形式,为了方便维护与管理 网页url怎么设计? 分层: 主域名,子域名 一般形式为: 主域名: www.job.com ...
- chroot: failed to run command `/bin/bash': No such file or directory
1 使用chroot命令时报错如下: testupgrade:/ # chroot /sb chroot: cannot change root directory to /sb: No such f ...
- linkin大话面向对象--初始化块
java使用构造器来对单个对象进行初始化操作,使用构造器先完成整个java对象的状态初始化,然后将java对象返回给程序,从而让整个java对象的信息更加完整.与构造器作用非常类似的是初始化块,它也可 ...
- Maven初步
Maven初入 maven 是一个项目管理工具, 它包含了一个 项目对象模型(Project Object Model POM), 一组标准集合, 一个项目生命周期(Project Lifecycle ...
- android之间传递list
Intent intent = new Intent(getActivity(), Activity_Character.class); intent.putExtra("mlTrait&q ...
- Curl是什么,原文地址:http://www.phpchina.com/portal.php?mod=view&aid=40161
Curl是什么PHP supports libcurl, a library created by Daniel Stenberg, that allows you to connect and co ...