C语言2
二、
若p的值是垃圾值则*p所代表的内存单元的控制权没有分配给该程序int *p;*p=10;//error
通过被调函数修改主调函数普通变量的值:
int a[3];a是数组名,是个指针常量,存放的是数组中第一个元素的地址。如果p是个指针变量则p[i]永远等价于*(p+i),数组中的元素是连续存放的;确定一个维数组需要知道第一个元素的地址和数组的长度;只有两个指针变量指向的是同一块区间的不同单元可以相减值为相隔的单元;一个指针变量所占的字节为4个字节
字符串是以‘0\’结束
三、
int len=4;int a[len]={1,2};//error
int len=3;int a[3]={2,4};//ok
动态内存是在堆分配的,静态内存是在栈分配的;struct name{};枚举就是把一个事物的所有可能值一一列举出来
原码:符号-绝对值码,最高位0表示正,1表示负。负整数转二进制:求正数,取反,末尾加1。二进制转十进制:首位是1,取反,末位加1。二进制全部为零的含义:数值为0、字符串结束标记符’\0’、空指针NULL.我们计算机规定了,以零为编号的存储单元的内容不可读不可写
四、
位运算符可以对数据的操作精确到每一位
&---按位与,1and1=1,other 0
|---按位或,0and0=0,other 1
~---按位取反
^---按位异或,相同为0,AandA=0,AandB=1
<<---按位左移,左移n位相当于乘以2的n次方,i<<3的执行速度比i*8快
>>---按位右移,右移n们相当于除以2的n次方,前提是数据不能丢失
五、
- 分配内存:操作系统把某一块内存空间的使用权分配给该程序。
- 释放内存:操作系统把分配给该程序的内存空间使用权收回,并不是把该内存的内容清零
变量不初始化,则变量通常是垃圾值
系统是如何执行int i=4;这个语句的
- 软件请求操作系统为i分配存储空间
- 操作系统会在内存中寻找一块空闲的区域,把该区域当作i来使用
- 软件会把i和这块区域关联起来,今后对字母i的操作就是对这块区域操作
- 把5存储到字母i所关联的内存区域中
- 内存区域就是内存的一块存储单元
C语言2的更多相关文章
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit 项目语言的选择 java c#.net php??
Atitit 项目语言的选择 java c#.net php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
- InstallShield 脚本语言学习笔记
InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加. 一.基本语法规则 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
随机推荐
- some knowledge t
NSNumber static 看下面例子 gCount可以在Person 文件中使用 在main 中不行 @property()括号中可以填的属性 国际化 OC中的快捷键操作 operation ...
- 从C++strStr到字符串匹配算法
字符串的匹配先定义两个名词:模式串和文本串.我们的任务就是在文本串中找到模式串第一次出现的位置,如果找到就返回位置的下标,如果没有找到返回-1.其实这就是C++语言里面的一个函数: extern ch ...
- C++虚函数在内存中的实现
首先来一张图,一目了然: 然后把相应的代码贴上来: class A { int a; public: virtual void f(); virtual void g(int); virtual vo ...
- mysql性能监控工具Innotop
mysql监控管理工具--innotop 1.innotop安装参考官网:http://innotop.googlecode.com/svn/html/installing.html # wget h ...
- std::string 字符替换函数
// 替换路径中所有“\”为“/” #include <algorithm> static std::string ConvertSlash(std::string& strUrl ...
- mysql学习笔记--第1天
1.像网页上的账户.图片.文章都是存在数据库里面2.Oracle .DB2 .SQL server等等多钟数据库 PHP中选择使用mysql PHP+mysql黄金搭档 PHP和mysql都是开源的, ...
- Android listview 禁止滑动
listview.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionE ...
- Docker镜像与仓库(二)Dockerfile
Docker镜像文件与仓库(二) Docker镜像文件与仓库(二) Dockerfile指令 Dockerfile格式: 1.#Comment注释2.INSTRUCTION大写的指令名 argumen ...
- 移动端下网页border:1px显示
解决这个问题之前首先要了解移动前端开发viewport的概念,自己写了一篇很粗糙viewport详解的文章对它有了一个很简单的理解.这里推荐一篇很详细的博文<<移动前端开发之viewpor ...
- mysql模糊匹配
select * from tableName where column like ""; select * from tableName where column regexp ...