美文网首页
变量思考

变量思考

作者: 不高兴325 | 来源:发表于2016-08-24 20:58 被阅读0次
    • 问题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#中传入的引用?

    相关文章

      网友评论

          本文标题:变量思考

          本文链接:https://www.haomeiwen.com/subject/cwyosttx.html