c语言中int *a,int a和int* a什么区别?

Dear 丶 2023-06-18 04:55 143阅读 0赞

int *a指的是定义一个指向int类型数据的指针a,

int a指的是定义一个整数变量a,
int* a跟int *a是一样的,只是int *a更严谨,
比如,int *a,b; 只有a是指针变量
int* a,b; 容易让人觉得a和b都是指针

  1. #include <stdio.h>
  2. void huhuan(int a,int b) {
  3. printf("%d\n", a); //5
  4. printf("%d\n", b); //3
  5. int t;
  6. t = a;
  7. a = b;
  8. b = t;
  9. }
  10. void huhuan_1(int *a, int *b) {
  11. printf("%d\n", a); //a表示是是一个指针 输出的的 7600000
  12. printf("%d\n", b); //7599988
  13. int *t; //t必须是 int * 类型 否则类型不一致
  14. t = a;
  15. a = b;
  16. b = t;
  17. }
  18. void huhuan_2(int *a, int *b) {
  19. printf("%d\n", *a);
  20. printf("%d\n", *b);
  21. int t; //t必须是 int 类型 否则类型不一致
  22. t = *a; //a是int * *a是int
  23. *a = *b;
  24. *b = t;
  25. }
  26. int main() {
  27. int a = 5;
  28. int b = 3;
  29. huhuan(a, b);
  30. //printf("a=%d,b=%d\n", a, b); 输出a=5,b=3
  31. huhuan_1(&a, &b);
  32. //printf("a=%d,b=%d\n",a,b);
  33. //int *p; //p是int*(int*是指针)
  34. //p = &a; //p指针存放的是啊的地址
  35. //*p表示的的5
  36. //huhuan_2(&a, &b);
  37. //printf("a=%d,b=%d\n", a, b);
  38. while (true){}
  39. }

发表评论

表情:
评论列表 (有 0 条评论,143人围观)

还没有评论,来说两句吧...

相关阅读

    相关 int *p=aint *p=&a区别

      指针变量用来存放指针(或者可以理解成地址)。而 & 则是取地址运算符,因此给指针变量赋值的方式一般是把变量的地址取出来,然后付给对应类型的指针变量: int a;