C语言中指向常量的指针和指针常量
摘要:1.指向常量的指针int number=10;const int *pNumber=&number;即pNumber所指向的值不能改变,但可对number做任意操作;例如:number=20;//ok,可做操作 *pNumber=20; //error ,不可改变2.指针常量:指针中存储的地址不能改变;int a=10;int *const pa=&a;指针中存储的地址不能改变;但可以改变地址中的值;int b=20;pa=&b; //error 地址不可改变;*pa=20; //ok ,地址中的值可以改变
阅读全文
posted @
2011-11-09 23:55
静海
阅读(450)
推荐(0)
浅谈C语言中的内存分配
摘要:在C语言中,根据数据在内存中存在的时间(生存期)不同,将内存空间分为三个区:1.程序区:用于存储程序的代码,即程序的二进制代码;2.静态存储区:用于存储全局变量和静态变量,这些变量的空间在程序编译时就已经分配好了;3.动态存储区:用于在程序执行时分配的内存,又分为:堆区(heap)和堆栈区(stack)两种。 堆区:用于动态内存分配,程序运行时由内存分配函数在堆上分配内存。在C语言中,只要使用指针才能动态的分配内存。 堆栈区:在函数执行时,函数内部的局部变量和函数参数的存储单元的内存区域,函数运行结束时,这些内存区域会自动释放。动态内存分配: 在C语言中用内存分配函数来实现内存的动态分配,这些
阅读全文
posted @
2011-11-09 22:18
静海
阅读(3089)
推荐(0)
C语言中的复数
摘要:上学时,老师布置了一个作业,就是用C写段程序,画功率谱谱图。由于有好几个公式里都有复数的情况,而当时不知如何表示复数,就用实数代替了。最近一段时间学习C,知道了C中也有复数类型,所以贴出来和大家分享。一、C中有三个类型可以储存复数: float _Complex:实部和虚部都为float类型; double _Complex:实部和虚部都为double类型;long double _Complex:实部和虚部都为long double类型;二、_Complex不免有些复杂,只要加入头文件<complex.h>即可,用complex代替_Complex,该头文件把虚部定义成‘I’,所
阅读全文
posted @
2011-11-08 15:39
静海
阅读(12580)
推荐(0)
C语言中定义常量的两种方式
摘要:我们在用C编程时有时需要定义不变的变量,即常量,有两种方法。举例说明。定义常量PI的两种方式:1. #define Pi 3.1415926f;2. const float pi 3.1415926f;区别:第一种方式:是将Pi定义成一种符号,此时Pi只是3.1415926的别名,在编译期间用3.1415926去取代Pi的值;第二种方式:是将PI定义成变量,但告诉编译器它的值是固定不变的,如果在程序中试图去修改它的值,在编译时会报错;
阅读全文
posted @
2011-11-08 14:29
静海
阅读(32429)
推荐(2)