原文网址:http://www.cnblogs.com/pengyingh/articles/2407267.html 1.概述 许多初学者对C/C 语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. 2.void的含义 void的字面意思是"无类型",void * 则为"无类型指针",void * 可以指向任何类型的数据. void几乎只有"…
C语言中结构体作为函数参数,有两种方式:传值和传址. 1.传值时结构体参数会被拷贝一份,在函数体内修改结构体参数成员的值实际上是修改调用参数的一个临时拷贝的成员的值,这不会影响到调用参数.在这种情况下,涉及到结构体参数的拷贝,程序空间及时间效率都会受到影响. 例子: typedef struct tagSTUDENT{ char name[20]; int age; }STUDENT; void fun(STUDENT stu) { printf("stu.name=%s,stu.age=%d/…
原文网址:http://www.cnblogs.com/zxl2431/archive/2011/03/25/1995285.html 讲的很清楚,备份记录. (一) 用函数指针变量调用函数 可以用指针变量指向整形变量.字符串.数组.结构体.也可以指向一个函数.一个函数在编译时被分配一个入口地址.这个入口地址就称为函数指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数.用简单的数值比较为例: #include <stdio.h> int main() { int max(int,i…
C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函数内定义的静态变量(共享) 4.返回全局变量   ******************以下摘自csdn******************************   其实就是要返回一个有效的指针,尾部变量退出后就无效了.…
指针:就是地址. &   取地址运算符 %p   打印地址占位符 int a=0; printf("%p ",&a);    指针变量:用来存放地址的变量 定义: 数据类型 * 变量名 = 初始值 int a=10; int *p=NULL; p=&a;    //把a的地址赋值给指针变量p,也就是说p指向了a的地址 间接访问:通过指针(地址)实现访问. * 取值运算符 *p 取到指针变量的指向的内存中的数据 指针变量所占字节,与类型修饰符无关,只与操作系统有关…
函数指针:指向函数的指针变量. 函数名相当于首地址. 函数指针定义:返回值类型  (*函数指针变量名)(参数类型1,参数类型2,....)=初始值 函数指针类型:返回值类型  (*)(参数类型1,参数类型2,....)=初始值 如:int  (*)(int int)  表示返回值是int类型,参数有两个,都为int类型的指针变量类型 void sayHello(){ printf("你好!!! \n"); } void (*p)()=NULL;   //表示返回值为空,无参数的,函数指…
结构体指针:指向结构体指针的变量的指针. 结构体指针指向结构体第一个成员变量的首地址 ->:   指向操作符 定义的指针变量必须指向结构体的首地址,才可以使用  ->  访问结构体成员变量. 数组指针:数组中的元素都是指针的数组. 版权声明:本文为博主原创文章,未经博主允许不得转载.…
//欲练此功必先自宫!!!     //第一天:C语言的基础     //进制     //2进制, 10进制, 8进制, 16进制     //注:8进制数前加0, 16进制数前加0x          //进制转换:     //10 -> n: 连除到取余     //n -> 10: 按权求和法(基数, 位权)     //n -> n: 1个8进制位 = 3个2进制位, 1个16进制位 = 4个2进制位          //字节     //1字节 = 8位2进制     …
C# 类型 引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制.复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的.由此又引出了 引用类型和 值类型,以及相关的对象判等.装箱.拆箱等基础知识. 于是我干脆新起一篇,从最基础的类型开始自底向上写起了.我仅仅想将对于这个主题的理解表述…
全局变量:定义在函数之外.(不安全)   局部变量;定义在函数之内. 内存的划分:1栈区   2堆区  3静态区(全局区) 4常量区 5代码区 栈区..静态区.常量区.代码区的数据都是由系统分配和释放空间. 堆区的内存必须自己去申请和释放. 1.栈区     栈区的数据以栈的形式存放(先进后出) 局部变量存放在栈区 2.静态区  (全局区) 被static修饰的变量和全局变量存放在静态区 static修饰符的作用: 1.修饰的变存放在静态区 2.修饰的变量只初始化一次 3.由static修饰的变…