c語言const和指針使用總結(附例子)

c語言const修飾

如圖
在這裏插入圖片描述
紅色方框內的爲錯誤語句

代碼

//============================================================================
// Name        : 06const修飾指針.c
// Author      : ccc
// Version     :
//============================================================================

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

int main601() {

	//1、這種方式不安全 可以通過指針修改
	//通過指針const修飾的常量
	const int a = 10;
	int *p = &a;
	*p = 100;
	printf("%d\n",a);
	printf("%d\n",*p);

	return 0;
}

int main602() {

	int a = 10;
	int b = 20;
	//2、如果const 修飾 int * 不能改變指針變量指向的內存地址的值
	// 但是可以改變指針指向的地址
	const int * p;
	p = &a;
//	*p = 100;
	p = &a;
	p = &b;
	printf("%d\n",*p);

	return 0;
}

int main603() {

	int a = 10;
	int b = 20;
	//3、const修飾指針變量 能改變指針變量指向地址的值
	// 但是不能改變指針指向的地址
	int * const p = &a;
	*p = 100;
	//p = &b;

	printf("%d\n",*p);
	return 0;
}

int main604() {

	int a = 10;
	int b = 20;
	//4、const修飾指針類型  也修飾指針變量 那麼不能改變指針指向的地址 也不能修改指針指向的值
	const int * const p = &a;
	//p = &b;
	//*p = 100;

	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章