C语言中 * 的三种含义

C语言中 * 的三种含义

1.相乘:符号两边都是两个变量。 例:x*y;

x=2;y=3;
z=x*y=2*3=6;

2.指针类型:左边是类型。例:int*x;(定义了一个名字叫x的变量,能够存放int数据类型的地址)

int *x;
(定义了指针变量 x ,x 是指向整数类型的指针)

3.解引用操作(间接访问操作):左边没啥,右边是一个指针类型变量。例如:y= *x; 如果x是一个已经定义好的指针变量,则(*x)表示以y的内容为地址的变量

y= *x;(指针x指向的值赋值给y(此处*为指向运算符,*x表示指针x所指向的变量的存储单元)

应用实例

交换两个整数

#include
#include

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语言中 * 的三种含义_第1张图片

代码简单分析:
C语言中 * 的三种含义_第2张图片

你可能感兴趣的:(c语言,开发语言)