Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67105
  • 博文数量: 17
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 195
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-02 21:02
文章分类
文章存档

2013年(2)

2012年(15)

最近访客

分类: C/C++

2012-05-07 20:21:09

作为第十章的指针是C语言中的难点,从第一第二节中首先了解到的是*,&这两个符号,可以说只要看到*这个符号,几乎可以肯定的就是这里运用到的是指针的知识点,在指针中总是反复提到的就是地址,int a=5;int *p=&a或者就是int a=5,*p;p=&a;这些种种很容易让人头大,简单的了解到的就是指针变量,整型变量,尤其注意的是其中的变量而非是常量,结合平时的作业,其中的选择题中很多题目考的就是关于变量常量的知识,就比如*p=5,这就是错的,因为*p是变量而5是常量,不能直接将一个常量赋值给一个变量,只要能过将*p,p,&a,a的概念弄清楚,基本的知识就算是掌握了,就可以读懂编写一些简单的程序:比如将两个数的值对调,在不用指针的时候:
#include"stdio.h"
void main()
{
    int a=5,b=8;
    int t;
    printf("a=%d,b=%d\n",a,b);
    t=a;
    a=b;
    b=t;
    printf("a=%d,b=%d\n",a,b);
}
如果用指针的话:
#include"stdio.h"
void main()
{
    int a=5,b=8;
    int *pa=&a,*pb=&b;
    int t;
    printf("a=%d,b=%d\n",a,b);
    t=*pa;
    *pa=*pb;
    *pb=t;
      printf("a=%d,b=%d\n",a,b);
}
可是我想这样编写是否正确???
#include"stdio.h"
void main()
{
    int a=5,b=8;
    int *p;
    printf("a=%d,b=%d\n",a,b);
    p=&a;
    a=b;
    b=*p;
    printf("a=%d,b=%d\n",a,b);
}
求意见。。。。。
阅读(2566) | 评论(7) | 转发(2) |
0

上一篇:VC++6.0

下一篇:关于指针

给主人留下些什么吧!~~

fengsmatrix2012-05-08 15:08:25

很明显 整型指针p 一直指向 整型变量a 的地址, 当a地址的内容改变,*p 必定改变。

2012-05-08 11:13:20

1、很遗憾的告诉你最后那段代码并不能出现你期望的效果;
2、“不能直接将一个常量赋值给一个变量”这句话不太明白是啥意思