变量思考

  • 问题1:
    在C#中,我们知道基本类型比如int,
    我们定义了如下变量:
int i=3;

字面量3直接保存在stack上,那变量名i存储在哪?
猜想:
与内存结构有关。

  • 问题2:
int  a[10]={0};
printf("%d",sizeof(a));

变量的大小、类型是否有一张表存储?
猜想:
在编译期间根据类型决定大小。

  • 问题3:
int a[10]={0};
printf("a=%p",a);        
printf("&a=%p",&a);  
//------------------------
printf("(a+1)=%p",(a+1));        
printf("(&a+1)=%p",(&a+1));  

a与&a结果相同,而(a+1)与(&a+1)结果不同。

  • 问题4:
//c语言中,将数组作为参数传入某方法中,在该方法中是无法知道该数组的长度。必须将数组的长度也作为参数传入方法。
//但在C#语言中,将数组传入某方法,可以在该方法中访问到该数组的所有信息。

问:
为何C#中能访问到数组的长度等信息?作为一个类封装?传入到方法中的是什么?
猜想:
c语音中传入的数组的首地址,即a[0]的内存地址。
而C#中传入的引用?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 10,773评论 3 71
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,531评论 3 44
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,081评论 2 13
  • 一、框架 1、Mac系统及常用工具、进制;C数据类型、常量变量、运算符、表达式、格式化输入输出 2、关系运算符、逻...
    师景福阅读 765评论 0 2
  • 1 创造运气的四个元素是指什么? luck 创造运气成功发生的条件和机会, 地点 location 正确的时候出现...
    donna王采宁阅读 228评论 0 0