C語言 第 6 節 const char* 與 char* const
阿新 • • 發佈:2019-02-12
#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