一.指针与数组 指针:指针本身也是一个变量,它的内容是指向的内容的地址.指针同样有类型的区分,char 的指针只能指向char型数据,int 指针指向int型数据.但是指针所占内存单元的大小(即其内容)是跟操作系统的地址位数有关,比如32位地址的系统,那么指针所占的内存单元就是4个字节,16位就是2个字节,因此,指针的类型只是限定它所指向的变量的类型,其内容所占的单元大小是与操作系统的地址位数相关,与变量类型无关. 在32位地址系统中,比如: int a = 10; //int型一般长度为4字节…
C语言的数组和指针一直是两个容易混淆的东西,当初在学习的时候,也许为了通过考试会对指针和数组的一些考点进行突击,但是很多极其细节的东西也许并不是那么清楚.本篇侧重点在于分析数组与指针的关系,什么时候数组可以等同于指针,什么时候二者不同. 数组的访问 首先通过一张图来描述一下数组的访问过程,下图的字符数组,访问下标为9的的元素           需要注意的是如果其他类型的变量,那么偏移量的计算应该是 i*单变量字节数,比如char是一个字节,int是4字节,那么int类型数组计算地址是,应该是加…
Java-web易混淆知识点 post和get区别 post: 数据不会显示在地址栏 安全 大小无限制 可以提交二进制文件 get: 数据显示在地址栏 不安全 get方式提交有大小限制(约4kb) 相对路径和绝对路径 相对路径 概念: 不以"/"开头,而是根据资源的相对位置关系的道德路径 写法: 从路径不一样的位置开始写 例如:bbb/bbb ..bbb/b.html (../表示退一级) 绝对路径 概念: 以"/"为开头的路径就是绝对路径.该路径不会随着位置变化而…
通过指针引用数组,通过数组引用指针,你搞明白了么?通过下面3种情形来了解一下数组和指针 Case 1. unsigned char arry[10]; unsigned char *ptr; unsigned char a, b, c;ptr = arry;a = ptr[0];b = ptr[1];c = ptr[2]; Case 2. unsigned char arry[10]; unsigned char *ptr; unsigned char a, b, c; ptr = arry;…
概要: 1.普通数组与指针 2.数组指针 3.指针的数组 数组是一个由(同一类型)连续元素组成的预先分配的内存块:指针是一个对任何位置的元素的引用. 数组自动分配空间,但不能重分配或改变大小:指针必须被赋值以指向分配的空间,可以随意重新赋值. 指针可以模拟数组:几乎没有所谓数组的东西,实际是个指针操作符. 1.普通数组和指针 #include <stdio.h> int main() { int arry[10]; int *p=arry; arry[1]=100; printf("…
问题一 首先,来看一下下面这段代码: #include <stdio.h> #include <string.h> int main() { char *str = "media"; char *tmp = "aaa"; printf("str: %s\n",str); strcat(str,tmp); printf("str: %s\n",str); return 0; } 代码打眼儿一看,功能很明显…
1.数组和指针 ] = {,,,,};// 定义数组 // 1. 指针和数组的关系 int * pa = array; pa = array; // p[0] == *(p+0) == array[0] == *(array+0) printf("%p\n", pa); printf("%p\n", array); /* 访问数组两种方式 1. 下标法访问 数组名[下标] 指针[下标] 下标:偏移量 2. 指针法访问 *(p+1) */ 2.指针数组 ] = {,,…
// 1 /////////////////////////////////////////////////////////////////////// // 常量指针:,指针可修改,变量不可修改(只是对于p指针来说,不能通过p指针来修改其指向的变量的值,但如果有其他指针ptr同时指向此变量,则可通过ptr修改变量的值)// 也即,变量的不可修改只是对于指针p而言,其他指针可以正常修改变量的值 参见Effective C++ —— 让自己习惯C++(一)条款03 const int *p; in…
1.字符数组 许多情况下,对字符串的处理使用字符数组会更加方便,比如: 我觉得不改变字符串的原有顺序,对字符串进行删除等操作时,使用字符数组效果会更好. eg:给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个.例如:"   i    am a      little boy.    ",变成"i am a little boy",语言不限,但不要用伪代码作答. answer: #inclu…
一.柔性数组 今天看了公司的代码,发现一个很奇怪的问题,后来自己写了类似代码,我先把代码贴出来吧. #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { ]; ]; int usType; int usLen; char ucCode; char ucSeq; char ucSlot; char ucInfo[]; }DEV_CARD_MSG_S; int main(void)…
数组名表示的是这个数组的首地址.即如果有int a[10],则a 相当于&a[0]. #include <stdio.h> main() { int a[5]= {1,3,5,7,9}; printf("数组a[]的地址为:%d\n",a); for(int i=0; i<10; i++) { printf("a[%d]的地址为:%d \n",i, &a[i]); } } 运行结果: 数组a[]的地址为:6487600 a[0]的地…
数组属性: arr.length;查看数组的长度 arr.Pop;删除数组最后一个元素; 数组的方法: arr.push();添加到数组末端; arr.shift();删除数组的第一个元素; arr.unshift();在数组最前面添加一个元素; arr.jojn();将得到的所有元素转换成字符串; arr.reverse();颠倒数组元素的位置; arr.slice(i,j);获取从i到j的数组,不改变原数组; i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个字符,j为结束的…
一.define(“constant”,  “hello world”);和const constant = “hello world”;的区别? (0).使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很多. (1).const用于类成员(或者接口成员)变量的定义,一经定义,不可修改.php5.3以上支持类外通过const定义常量,并且在使用命名空间时只能用这个来定义常量. define不可用于类成员变量的定义,…
1.数据抽象与封装 数据抽象是一种接口和实现相分离的编程技术,设计者关心的是如何实现这些接口,而使用者仅仅知道这些接口,抽象地考虑这些接口做什么的就可以了,不必去考虑如何实现这一层次. 封装是将低层次的元素结合起来组成高层次的实体,比如函数是封装的一种形式,函数本身可以看做一个大的实体,封装了函数里面所执行的实现细节,于是被封装的元素隐藏了他们的实现细节,可以通过调用该函数 来执行函数封装的功能,但不能直接访问函数所执行的语句.同理,类也是一个封装的实体,类是许多成员的大集合,隐藏了实现该类类型…
1.const.mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改.volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化,是一种意想不到地被改变.例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序可能会修改其中的内容,或者两个程序可能相互影响,共享数据.该关键字的作用就是为了改善编译器的优化能力.假设编译器发现程序在几条语句中两次使用某个变量的值,则编译器可能不是让程序…
C++面向对象中,虚函数与虚继承是两个完全不同的概念. 一.虚函数 C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表.派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容不一定相同,后半部分则对应着自己新定义的虚拟函数. class Employee { protected: char *Name; int Age; public: void changeAge(int…
CSS定位有四种模式:static.relative.absolute.fixed,其它static是默认值,下面分别讲解下各自的特点: static:静态定位,处于动态布局流中,按照页面中的各元素先后顺序.父子关系自动排列与布局,每个静态定位元素均占用动态布局的一块空间: relative:相对定位,处于动态布局流中,如果设置了偏移量(LEFT或TOP的值),则会有相应的位置调整,位置调整的标准是基于上一个处于动态布局流中的元素(即:设为static及relative元素): absolute…
1,join 和 union join连接属于表之间的水平操作,而union 是表之间的垂直操作.简单讲就是水平操作主要是为了获得列数据,垂直操作是为了获得行数据 cross  join       交叉连接    ansi  89  支持              ansi  92   支持inner  join        内连接     ansi  89  支持               ansi  92   支持 outer  join        外链接     ansi  89…
find()与children() <body> <ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class=&q…
一.混淆概念 德尔菲技术 德尔菲技术是组织专家达成一致意见的一种方法.项目专家匿名参与其中.组织者使用调查问卷就重要的项目议题征询意见,然后对专家的答卷进行归纳,并把结果反馈给专家做进一步评论.这个过程反复几轮后,就可能达成一致意见.德尔菲技术有助于减轻数据的偏倚,防止任何个人对结果产生不恰当的影响. 敏感性分析 敏感性分析有助于确定哪些风险对项目具有最大的潜在影响.它有助于理解项目目标的变化与各种不确定因素的变化之间存在怎样的关联.把所有其他不确定因素固定在基准值,考察每个因素的变化会对目标产…
1.not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 结果会输出啥? 根据优先级:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) 之后剩下:0 or 0 or 4 or 6 or 9 之后根据短路逻辑: 3 and 4  == 4 :3 or 4 == 3 所以最后答案是 4 2.元字符“.”在默认模式下,匹配除换行符外的所有字符.在DOTALL模式下…
一.解析类继承中父类与子类之间成员的访问可见度: 外部可见度:指的是被子类继承的父类成员在子类的外部访问控制度,有protected.public.private. 内部可见度:指的是被子类继承的父类成员在子类定义的方法中的内部访问控制度,有可访问(Y).不可访问(N). class A{     private:        void pvA(); protected:        void ptA()    public:        void pbA();         ....}…
最近复习算法,感到有一丝丝忘记的困惑,赶紧记下来... 一.分治法 分治法的思想就是“分而治之”,很明显就是将规模比较庞大.复杂的问题进行分治,然后得到多个小模块,最好这些小模块之间是独立的,如果这些小模块之间耦合性比较大的话,需要多次计算重复的问题,从而出现了冗余,这种情况下,可以利用动态规划法,保存这些小模块问题的解,这样就避免了多次重复计算相同问题的解了.分治法的一般解题步骤包括: 根据分治法的解题思想,我们可以看到这其中需要用到递归.以斐波那契函数为例: 现在要求计算,则使用分治法解题时…
GO语言中数组和指针 数组 Go语言提供了数组类型的数据结构. 数组是同一数据类型元素的集合.这里的数据类型可以是整型.字符串等任意原始的数据类型.数组中不允许混合不同类型的元素.(当然,如果是interface{}类型数组,那么一个数组元素可以包含任意数据类型.) 数组的每一个元素都是类型相同.长度固定且已经编号的,所以数组元素可以通过索引来读取(或者修改).索引从0开始,第一个元素的索引为0,第二个元素的索引为1,以此类推. 数组的声明 Go语言数组的声明需要指定元素类型以及元素的个数.数组…
C语言中数组和指针是一种很特别的关系,首先本质上肯定是不同的,本文从各个角度论述数组和指针. 一.数组与指针的关系数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值.数组可以在某些情况下转换为指针,当数组名在表达式中使用时,编译器会把数组名转换为一个指针常量,是数组中的第一个元素的地址,类型就是数组元素的地址类型,如:int a[5]={0,1,2,3,4}; 数组名a若出现在表达式中,如int *p=a;那么它就转换为第一个元素的地址,等价于int *p=&a[0]:再来…
数组与指针 长期以来,在C/C++中,数组名和指向数组首元素的指针常量到底是以一种什么关系,一直困扰着很多人.很多地方,甚至是一些教科书中都在说,"数组名就是一个指向数组首元素的指针常量".但事实是,这是一种错误的说法!我们可以在很多场合中把数组名看作一个指向数组首元素的指针常量,但绝不能将这两者当成同一个东西. 真实的关系 数组是数组,指针是指针,这是两种不同的类型. 数组既可以表示一种数据类型,也可以表示这种类型的一个对象(非面向对象之对象,下同),表示对象时也可以称之为数组变量,…
本文转载自CSDN@WalkingInTheWind,原文链接:https://blog.csdn.net/luckyxiaoqiang/article/details/7044380 C语言中数组和指针是一种很特别的关系,首先本质上肯定是不同的,本文从各个角度论述数组和指针. 1. 数组与指针的关系 数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值.数组可以在某些情况下转换为指针,当数组名在表达式中使用时,编译器会把数组名转换为一个指针常量,是数组中的第一个元素的地址,…
C#中一些易混淆概念 这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框架类库) 这些类是微软事先定义好的. 例如当我们新创建一个windows窗体应用程序是,VS会帮我们自动生成下面的代码: using System; using System.Collections.Generic; using System.Text; 这些就是微软事先为程序员定义好的类库.程序员…
这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框架类库) 这些类是微软事先定义好的. 例如当我们新创建一个windows窗体应用程序是,VS会帮我们自动生成下面的代码: using System; using System.Collections.Generic; using System.Text; 这些就是微软事先为程序员定义好的类库.程序员可以直接使用的. 2)…
转载于http://blog.csdn.net/hinyunsin/article/details/6662851     前言 其实很早就想要写一篇关于指针和数组的文章,毕竟可以认为这是C语言的根本所在.相信,任意一家公司如果想要考察一个人对C语言的理解,指针和数组绝对是必考的一部分. 但是之前一方面之前一直在忙各种事情,一直没有时间静下心来写这些东西,毕竟这确实是一件非常耗费时间和精力的事情:一方面,个人对C语言的掌握和理解也还有限,怕写出来的东西会对大家造成误导.当然,今天写的这些东西也肯…