1. 程式人生 > >C語言 第 6 節 const char* 與 char* const

C語言 第 6 節 const char* 與 char* const

#include <stdio.h>

int main()
{
	char* plane = "asd";  // plane為指標(因為有*號 看到*號就代表著plane是指標)  char決定著指標所指地址處存放的資料型別 指向"asd"為常量字串,所以不能修改
	//plane[0] = 's';  error 因為plane指向的是常量 所以不能修改  
	printf("plane = %s\n",plane);
	
	
	plane = "cd";   // plane 指向字串常量"cd"  
 	printf("plane = %s\n",plane);
	
	const char* apple = "asd"; //const在指標前 ,意味著指標指向的內容不能變 但是可以改變指標所指的地址
	printf("apple = %s\n",apple);
	//apple[1] = 'e'; 指標指向的內容不能改 error: read-only variable is not assignable
	apple = "cde"; // 指標指向的地址可以改動
	printf("apple = %s\n",apple);
	
	char* const ble = "ade";// 這裡const後面是ble 表示指標指向的地址不能變
	printf("ble = %s\n, ble[1] = %c\n", ble, ble[1]);
	//ble = "des"; error 指標的指向不能變
	//ble[2] = 'r';
	
	return 0;
}


輸出:
plane = asd
plane = cd
apple = asd
apple = cde
ble = ade
, ble[1] = d