博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

jiaxiyingying

加喜英英的家 注:文章多为转载,作为学习所用 QQ:122827420
  jiaxi.cublog.cn

关于作者
姓名:jiaxi
职业:计算机
年龄:
位置:武汉
个性介绍:
|| << >> ||
我的分类


c 语言拾遗
1
 
#include<iostream.h>
int a,b,c,d,e;
a=b=c=d=e=1;
void main()
{
int a,b,c,d,e;
a=b=c=d=e=1;
cout<<a<<b<<c<<d<<e;
}
 
全局变量必须在定义时初始化。
 
2
main()
{
    char *c1 = "abc";
    char c2[] = "abc";
    char *c3 = ( char* )malloc(3);
    c3 = "abc";
    printf("%d %d %s\n",&c1,c1,c1);
    printf("%d %d %s\n",&c2,c2,c2);
    printf("%d %d %s\n",&c3,c3,c3);
    getchar();
}
1、输出地址,似乎用%d不太好!!
2、c3是一个指针,开始malloc让其指向一个地址,后来又指向另一个地址;
3、"abc"是一个常量,在.data区有一个地址,这样c1和c3都指向同一个地址;
 
3
 
a.c
int x=100;
main()
{
 foo();
 printf("x=%d\n", x);
 return 0;
}
b.c
int x;
void foo()
{
x=200;
}
 
这个例子中,main中的x是强符号,因为它被初始化了,放在.data区,foo中的x是弱符号,因为了它没有被赋值,被放在了.bss区
 

发表于: 2007-12-11,修改于: 2007-12-11 21:24,已浏览1589次,有评论0条 推荐 投诉


网友评论
 发表评论