
c
ericjauy
风中摇曳的一介草夫,嗯嗯嗯嗯!
展开
-
c语言变量的存储方式(auto,register,static,extern)及作用域(局部变量/全局变量)详解
在讨论函数的形参变量时曾经提到, 形参变量只在被调用期间才分配内存单元,调用结束立即释放。 这一点表明形参变量只有在函数内才是有效的, 离开该函数就不能再使用了。这种变量有效性的范围称变量的作用域。不仅对于形参变量, C语言中所有的量都有自己的作用域。变量说明的方式不同,其作用域也不同。 C语言中的变量,按作用域范围可分为两种, 即局部变量和全局变量。 一、局部变量转载 2014-09-06 10:54:12 · 4573 阅读 · 0 评论 -
指针与引用在主调函数和被调函数中的应用
/* 初始化顺序线性表 */Status InitList(LinkList *L) { *L=(LinkList)malloc(sizeof(Node)); /* 产生头结点,并使L指向此头结点 ,L是指向指针的指针,即:指向头节点指针的指针*/ if(!(*L)) /* 存储分配失败 */ return ERROR; (*L)-原创 2014-09-02 22:23:37 · 1215 阅读 · 0 评论 -
由链表初始化看C语言的二级指针
先来看C语言创建链表、插入节点和遍历链表的一段代码:C代码 #include #include typedef int ElemType; typedef struct Node{ ElemType elem; struct Node *next; }Node, *LinkedList;转载 2014-09-02 17:46:01 · 1192 阅读 · 0 评论 -
C语言中数组名和指针的区别
关键字: c注明:转载于新浪,作者名字丢失. 魔幻数组名 请看程序(本文程序在WIN32平台下编译): 1 #include iostream> 2 int main() 3 { 4 char str[10]; 5 char *pStr = str; 6 cout sizeof(str) endl; 7 c转载 2014-08-16 22:27:29 · 683 阅读 · 0 评论 -
浅谈C++中指针和引用的区别
指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;转载 2014-08-29 10:20:29 · 420 阅读 · 0 评论 -
*a+=1和*a++的运算
优先级:++ > * > +=1.*运算符的优先级高于符合运算符+=,即*p += 1的功能等同于++(*p)或(*p)++,也就是说,增加的是p指向的内容,而不是改变指针的指向。原创 2014-08-29 10:24:35 · 1536 阅读 · 0 评论 -
函数的形参(非引用形参、指针形参、引用形参)
函数的形参(非引用形参、指针形参、引用形参)一、非引用形参 voidadd1(intv1) { v1+=1; } 这是最普通的形参方式,当函数被调用时,实参的副本初始化形参,函数并没有访问调用所传递的实参,因此v1+=1不会修改实参的值。对v1的操作只是修改了实参的一个副本。二、指针形参转载 2014-08-29 10:24:05 · 861 阅读 · 0 评论 -
C++中引用与指针的区别(详细介绍)
C++中的引用与指针的区别 指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。 ★ 相同点: 1. 都是地址的概念; 指针指向一转载 2014-08-29 10:22:10 · 479 阅读 · 0 评论 -
struct 和typedef struct区别(秒懂)
1.struct{成员表列}变量名表列1,变量名表列2;(变量名表列1,变量名表列2)这2个变量名怎么理解? 一个是声明一个结构体的原始用法,一个是把结构体取了个别名。例如struct list{ int a; char c; stuct list *next;};(注意这个分号不能少)这个结构体的类型名是struct list ;struct只是声明结原创 2014-08-28 10:34:53 · 1417 阅读 · 0 评论 -
彻底搞定C指针---指向指针的指针
一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12 13 1转载 2014-08-28 19:33:47 · 430 阅读 · 0 评论 -
C 内存分配
1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3转载 2014-08-27 10:21:56 · 449 阅读 · 0 评论 -
内存分配详解
c/c++编程基础篇之浅析堆&栈五大内存分区在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释转载 2014-08-27 10:19:11 · 508 阅读 · 0 评论 -
三元组表示的稀疏矩阵的加法和乘法
#include #include //函数结果状态码#define OK 1#define ERROR 0#define OVERFLOW -1 //Status是函数的类型,其值是函数结果状态代码typedef int Status;// ----- 稀疏矩阵的三元组顺序表存储表示 -----#define MAXSIZE 100转载 2014-08-13 17:01:45 · 11703 阅读 · 2 评论 -
char *s 和 char s[] 的区别小结
最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误。一时也不能说得很明白,网上也搜了一下相关文章发现一些写的比较好的,综合了一下当教育资料备用。 char *s1 = "hello";char s2[] = "hello"; 【区别所在】cha转载 2014-08-12 19:42:39 · 576 阅读 · 0 评论 -
传指针和传指针引用的区别/指针和引用的区别(本质)
指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。(这里是在说实参指针本身的地址值不会变) 而在引用传递过程中,被调函数的形式参数虽然也作转载 2014-09-02 18:07:58 · 514 阅读 · 0 评论