一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。 二、#define定义常量和宏 #define是一个预处理指令 #define定义标识符常量 例如: #define MAX 1000 #define STR “abcdef” 此处的MAX #define定义宏 宏是有参数的,我们可以通过定义宏来实现自己想要的功能。 注意:宏的名字一...
#define MAX(x,y) x>y?x:y int main(){ int x,y;x = 3,y = 2;printf("%d\n",MAX(x,y));return 0;} 这样肯定没有问题,输出的一定是3。但是如果我们将main函数中的printf语句做如下修改:printf("%d\n",y - MAX(x,y));那么我们期望的是先计算MAX(x,y),结果为3,然后 y-3 为-1,...
int *p1 = malloc(4); //已初始化局部指针变量p1 int *p2 = malloc(4); //已初始化局部指针变量p2 //全局区 static int mp1; //未初始化局部静态变量 static int mp2=2; //已初始化局部静态变量 //常量区 char *vv = "I LOVE YOU";//已初始化局部指针变量 char *mq = "5201314"; printf(...
arr是一个数组,这里a必须要求是一个常量,虽然a有了常属性,但本质上仍是个变量,所以不能用在数组中。 3.#define定义的标识符常量; 需要注意的是3后不能加分号‘;’ 4.枚举常量。 枚举关键字:enum 生活中,总有一些东西是能一一列举出来的,如性别,星期啊; 对于类似这类的,我们可以使用枚举常量,详情如下图所...
局部标签的声明必须位于代码块的首行,即放在任何其他普通声明和语句之前。请注意,局部标签的声明仅仅是定义了标签的名字,而不是标签本身,后续使用时还必须定义这个标签。这听起来有点烧脑,下面的示例代码让你瞬间秒懂。 #define SEARCH(value, array, target) ...
51CTO博客已为您找到关于c语言中define的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及c语言中define问答内容。更多c语言中define相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
#define定义的符号常量,既可以是局部作用域,比如定在函数内部定义,在函数内部再用#undef撤销,如果不用#undef撤销,则该符号常量将会突破局部作用于的限制,会一直作用到整个文件的尾部,造成作用于污染。我们通过一个例子来演示一下:#include <stdio.h> void foo(void);void bar(void);int main() { foo()...
define M 20 define N 20 void main() { int i,j,m,n,a[N][M];scanf("%d%d",&n,&m);for ( i=0;i<n;i++ ) for ( j=0;j<m;j++ ) scanf("%d",&a[i][j]);for ( i=1;i<n-1;i++ )for ( j=1;j<m-1;j++ )if ( (a[i][j]>a[i-1][j])&&(a[i]...
1#defineCOUNT 4//宏名一般用大写或者以k开头,变量名一般用小写 2)、作用 它的作用是在编译预处理时,将源程序中所有"宏名"替换成右边的"字符串",常用来定义常量。 #include <stdio.h>//源程序中所有的宏名PI在编译预处理的时候都会被3.14所代替#definePI 3.14//根据圆的半径计r算周长floatgirth(r) {re...
从gcc局部static变量初始化看C/C++区别 一、局部/全局变量 局部变量在C++中的使用要频繁的多,并且功能也强大的多,但是这些强大功能的背后无疑会引入问题的复杂性,不想让马儿吃草只想让马儿跑的事大家表乱想。这些初始化的实现就需要C++的库执行更多的动作来完成,虽然各种编译器都是像如今开展的“学雷锋”活动一...