| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2936 人关注过本帖
标题:初来乍到, 有问题请教
取消只看楼主 加入收藏
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 43楼 TonyDeng
......
实际上,  我单独 sizeof(char)是1   所以还不太明白你的思想.
struct A{
          int  a;
          int*  b;
          char  c;
             };


定义一个结构类型的变量,实际上是为结构变量中的每个成员数据项分配内存空间,成员数据项是受结构约束的变量,成为结构变量的成员变量。结构类型的变量所需分配的内存空间大小是结构类型的所有成员变量所需分配空间大小之和。
既是:sizeof(s_tmp)=sizeof(a)+sizeof(b)+sizeof(c)=1+2+1=4
(vc++6.0中short数据类型为2个字节)
2012-06-30 20:02
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 45楼 TonyDeng
Hello Tony deng,
我不知道你对计算机网络是否熟悉. 不管怎样,我还是不贴先发出来.    看你能否帮我解答下.    谢谢!

9、通过本机的路由信息,说明访问某一台主机的下一跳路由。
Active Routes:                                    
Network Destination    Netmask             Gateway          Interface          Metric
0.0.0.0                0.0.0.0            200.200.41.254    200.200.41.102       20
21.100.100.0           255.255.255.0      200.200.41.103    200.200.41.102        1
127.0.0.1              255.0.0.0          127.0.0.1          127.0.0.1            1
200.200.41.0           255.255.255.0      200.200.41.102    200.200.41.102       20
200.200.41.0           255.255.255.0      200.200.41.104    200.200.41.102        1
200.200.41.102         255.255.255.255     127.0.0.1         127.0.0.1           20
200.200.41.255         255.255.255.255     200.200.41.102    200.200.41.102      20
224.0.0.0              240.0.0.0           200.200.41.102    200.200.41.102      20
255.255.255.255        255.255.255.255     200.200.41.102    200.200.41.102      1
Default Gateway:      200.200.41.254            
1).访问200.200.41.101的下一跳地址是:________               
2).访问21.100.10.101的下一跳地址是:_________            
3).访问40.140.140.101的下一跳地址是:_________           
2012-07-01 21:14
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 45楼 TonyDeng
...?
2012-07-03 16:49
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 10楼 wangchengbin
下面这代码解释不通,为什么程序到了红色部分结果是5呢?
 而int s=0的时候已经在main函数里是局部变量啊.  我认为是0呢.   

#include<stdafx.h>
#include"stdio.h"
int a=2;
int f(int *a)
{
    return (*a)++;
}
void main()
{
    int s=0;
    {
        int a=5;
        s+=f(&a);
    }
    printf("%d\n",s);
    s+=f(&a);
    printf("%d\n",s);
}

2012-07-05 14:35
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 53楼 TonyDeng
.
2012-07-05 19:11
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 59楼 TonyDeng
你建立(*(&a)++)的目的是从int f(int *a) 函数返回的(*(&a)++)  我想知道为什么在(&a)++  前加*     *a  已经指向&a, 应该就是(&a)++ 吧?  请帮忙的解释清楚点.我基础差.
ThanKS

#include
#include"stdio.h"
int a=2;
int f(int *a)
{
    return (*a)++;
}
void main()
{
    int s=0;
    {
        int a=5;
        s+=f(*(&a)++);
    }
    printf("%d\n",s);
    s+=f(&a);
    printf("%d\n",s);
}
2012-07-06 22:44
wangchengbin
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2012-6-27
收藏
得分:0 
回复 61楼 TonyDeng
明白形参传递,  但是我有另外困惑,红色的int a=2应该是全局变量.当调用f(int *a)时return (*a)++ 返回的结果应该是2吧?        谢谢!


#include<stdafx.h>
 #include"stdio.h"
int a=2;
 int f(int *a)
 {
     return (*a)++;
 }
 void main()
 {
     int s=0;
     {
         int a=5;
         s+=f(&a);
     }
     printf("%d\n",s);
     s+=f(&a);
     printf("%d\n",s);
 }
2012-07-07 09:41
快速回复:初来乍到, 有问题请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020306 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved