0
点赞
收藏
分享

微信扫一扫

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


蛇形数组:

//蛇形函数问题
#include<stdio.h>
#include<string.h>
void
{
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");
   }
}

结果:

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的。定义和访问的语法也和其他数据成员一样。




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

举报

相关推荐

0 条评论