C语言中变量定义与声明的区别(转载)

在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下: 变量的声明有两种情况: (1) 一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。 (2) 另一种是不需要建立存储空间的(声明)。例如:extern int a其中变量a是在别的文件中定义的。 前者是"定义性声明(defining declaration)"或者称为"定义(definition)",而后者是"引用性声明(referncing decl...
c/c++ | 2015-08-20 20:27 | 阅读 2736 次 | 评论 0 条

内存分配详解、指针与数组[C++][内存管理]

程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 内存分配方式 (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3...
c/c++ | 2015-08-14 11:28 | 阅读 3543 次 | 评论 0 条

指针数组小记

①、 int a[2][3] = {{1, 2, 3}, {4, 5, 6}}; int (*p)[3]; //p是一个指针,它指向一个具有3个整型元素的数组。 p=a; ②、 int *p[3] = {&a[0], &a[1], &a[2]}; //p是一个有着3个元素的数组,每个元素为一个指向整型变量的指针
小摘 | 2015-08-11 11:35 | 阅读 2310 次 | 评论 0 条

最大公因数

两个数a、b (a>b) 如果c=a%b>0 则令 a=b,b=c 重复上述步骤直到a%b=0 此时b为所求最大公因数 代码: #include <stdio.h> #include <Windows.h> int main(int argc,char argv[]){ int a,b,c; printf("输入两个数:\n"); scanf("%d",&amp;a); scanf("%d",&amp;b); if(a<b){ c = a; a = b; b = c; ...
c/c++ | 2015-08-11 11:21 | 阅读 3228 次 | 评论 0 条

C语言中关于时间的函数

本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) 1.概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获...
c/c++ | 2015-08-05 15:25 | 阅读 3195 次 | 评论 0 条

奇数阶魔方矩阵

平面魔方的一般定义:将自然数 1 到 N^2, 排列 N 行 N 列的方阵,使每行、每列及两条主对角线上的 N 个数的和都等于N (N^2+1)/2,这样的方阵称为 N 阶幻方。 通过搜索整理后,得到下面的算法: 对平面魔方的构造,分为三种情况:N为奇数、N为4的倍数、N为其它偶数(4n+2的形式) N 为奇数时 (1) 将1放在第一行中间一列; (2) 从2开始直到n×n止各数依次按下列规则存放: 按 45°方向行走,如向右上 每一个数存放的行比前一个数的行数减1,列数加1...
c/c++ | 2015-08-05 14:10 | 阅读 6200 次 | 评论 0 条

C语言中将二维数组作为参数传递给函数的方法

转自:http://www.cnblogs.com/applebunny/archive/2012/09/09/2677307.html #include <stdio.h> /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维的长度 * *********************************/ void print_a(int a[][5], int n, int m) { int i, j; for(i = 0; i < n; i+...
c/c++ | 2015-08-03 17:07 | 阅读 2418 次 | 评论 1 条
浏览52916次