2013-7-15学习一些修饰词的比较-阿里云开发者社区

开发者社区> 技术小美> 正文

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云数据库的数据迁移|学习笔记
快速学习云数据库的数据迁移
5 0
总结与回顾| 学习笔记
快速学习总结与回顾
6 0
有监督学习算法(下)| 学习笔记
快速学习有监督学习算法(下)
3 0
有监督学习算法(上)| 学习笔记
快速学习有监督学习算法(上)
4 0
ECS使用体验
使用ESC服务器搭建过比赛使用的web应用、在上面做过深度学习的实验
9 0
云计算大数据及人工智能| 学习笔记
快速学习云计算大数据及人工智能
8 0
总结与回顾(1)| 学习笔记
快速学习总结与回顾(1)
8 0
文件查找和压缩 | 学习笔记
快速学习文件查找和压缩。
13 0
递归函数|学习笔记
快速学习递归函数
5 0
+关注
6906
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载