C语言中 * 的三种含义

Posted 一朵花花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中 * 的三种含义相关的知识,希望对你有一定的参考价值。

C语言中 * 的三种含义

  1. 相乘:符号两边都是两个变量。 例:x*y;
x=2;y=3;
z=x*y=2*3=6;
  1. 指针类型:左边是类型。例:int*x;(定义了一个名字叫x的变量,能够存放int数据类型的地址)
int* x;
(定义了指针变量 x ,x 是指向整数类型的指针)
  1. 解引用操作(间接访问操作):左边没啥,右边是一个指针类型变量。例如:y= *x; 如果x是一个已经定义好的指针变量,则(*x)表示以y的内容为地址的变量
y= * x;(指针x指向的值赋值给y(此处*为指向运算符,*x表示指针x所指向的变量的存储单元)

应用实例

交换两个整数

#include<stdio.h>
#include<stdlib.h>

void Swap(int* x, int* y) 
	int tmp = *x;
	*x = *y;
	*y = tmp;

int main() 
	int num1 = 0;
	int num2 = 0;
	printf("请输入num1 num2的值:");
	scanf("%d %d", &num1, &num2);
	Swap(&num1, &num2);
	printf("num1=%d\\nnum2=%d\\n", num1, num2);
	system("pause");
	return 0;

运行结果

代码简单分析:

C语言中的指针不太好理解,可以结合“内存”来进行理解~~

以上是关于C语言中 * 的三种含义的主要内容,如果未能解决你的问题,请参考以下文章

Stack的三种含义

[转帖]Stack的三种含义

其实C语言就是三种结构吧?顺序结构、选择结构、循环结构?

C语言三种循环结构的完整句子?

Stack的三种含义

Stack的三种含义—转载