2013-7-15学习一些修饰词的比较

简介:
蛇形数组:

//蛇形函数问题

#include<stdio.h>

#include<string.h>

void main()

{

   int i = 0,n,k = 1;

   printf("请输入N:");

   scanf("%d",&n);  //

   int j = n-1,s[100][100];

   memset(s,0,sizeof(s));  //内存初始化

   

   while(k<=n*n)

   {

       while(i<=n-1&&s[i][j]==0&&k<=n*n) {s[i++][j] = k++;}

       i--;//不然的话上面一行i++之后越过边界了

       j--;//不然会覆盖边角的那个数

       while(j>=0&&s[i][j]==0&&k<=n*n)  {s[i][j--] = k++;}

       j++;

       i--;

       while(i>=0&&s[i][j]==0&&k<=n*n)  {s[i--][j] = k++;}

       i++;

       j++;

       while(j<=n-1&&s[i][j]==0&&k<=n*n)  {s[i][j++] = k++;}

       i++;

       j--;

   }

   

   //打印输出

   for(int x = 0;x<n;x++)

   {

       for(int y = 0;y<n;y++)

       {

           if(s[x][y]<10)

               printf("%d  ",s[x][y]);

           else

               printf("%d ",s[x][y]);

       }

       printf("\n");

   }

}

结果:

2013年07月15日 - 蓬莱仙羽 - IT达人的博客



const和define的区别:
define不需要指名类型,const只读不能修改。const 要做类型判断

const char *p;

char const *p; 

p指向可以改,*p不可改

char * const p="abc";   *p可以改,但这儿不可改,是在静态区,初始化必须指向,不然会报错

char const * const p="abc"  ; p不可改,*p也不可改

const数据开辟在静态区,在编译的时候就开辟空间了

引用:int &a=5;  是错误的  就类似: int *p=&5;  错误


别名是唯一的,一旦起了别名就不可以更改

引用和指针的区别:

1.从内存上来讲  系统为指针分寸内存空间,而引用与绑定的对象共享内存空间,系统不为引用变量分配内容空间。

2指针初始化以后可以改变指向的对象,而引用定义的时候必须要初始化,且初始化以后不允许再重新绑定对象。

3.所以引用访问对象是直接访问。指针访问对象是间接访问。

4。如果pa是指针,那么*pa就是引用了。

但是两者在作为形参的时候非常相似,区别是指针拷贝副本,引用不拷贝。程序如下:

#include<stdio.h>

void pt(int * pta,int * ptb)

{

int *ptc;

ptc=pta;pta=ptb;ptb=ptc;

}

void ref(int &ra,int &rb)

{

int rc;

rc=ra;ra=rb;rb=rc;

}

void main()

{

int a=3;int b=4;

int *pa=&a;int *pb=&b;

pt(pa,pb);

printf("zhizhen: a=%d,b=%d\n",a,b);

ref(a,b);

printf("yinyong: a=%d,b=%d\n",a,b);

}

const和static区别

const int i=10; //i不可以更改

static int a=10;//可以更改 只初始化一次

如果把const放在变量类型名前,说明这个变量的值是保持不变的,该变量必须在定义时初始化,初始化后对它进行的任何赋值都是非法的。

将static用于一个全局变量,是说明该全局变量只对定义在同一个文件中的函数可见。即使在另一个文件中使用了extern,另一个文件中的函数也不能访问这个全局变量。

static的第二个含义是用于一个函数前,说明该函数只能在同一个文件中调用。

第三个含义是static用于函数的局部变量。它表明该变量的值不会因为函数终止而消失,它会被保存下来。再次调用该函数时,这个保存下来的值会用来初始化该变量。

第四个含义就是用于类的成员变量。它表明对类的所有对象,这个数据成员都只有一个实例。这个实例被所有对象共有。static的成员变量可以是private、public、protected的。定义和访问的语法也和其他数据成员一样。


定义类不占存储空间,只是定义了类型。

















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366567,如需转载请自行联系原作者
相关文章
|
1月前
|
Java Spring
使用枚举定义常量更好点儿
使用枚举定义常量更好点儿
14 1
|
3月前
TEEOS的术语表
TEEOS的术语表
19 0
|
6月前
|
数据挖掘 BI C++
标签 VS 数据指标体系,终于有人讲清楚了
标签 VS 数据指标体系,终于有人讲清楚了
|
7月前
信息质量的属性相关知识点
信息质量的属性相关知识点
33 0
|
8月前
|
存储 编译器 C语言
类与对象(随心记录一)
类与对象(随心记录一)
82 1
|
8月前
|
Java
ChatGPT告诉你Java内部类 vs. 组合的区别
ChatGPT告诉你Java内部类 vs. 组合的区别
62 0
|
8月前
|
设计模式 Java
1.1什么是Java内部类:概念与分类
1.1什么是Java内部类:概念与分类
56 0
|
Java 数据安全/隐私保护
|
缓存 Java 应用服务中间件
彻底理解JVM常考题之分级引用模型
本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。
951 0

热门文章

最新文章