1. 程式人生 > >字串指標和指向字串的指標變數

字串指標和指向字串的指標變數

字串指標 字串的首地址;
字串指標變數 例:char *strp=“hello”;
定義了一個指向字串的指標變數,並將字串的首地址賦值給strp指標變數,即:使指標變數strp指向字串首地址;
輸出:
(1)printf(“%s\n”,strp);
(2)for(;*strp;strp++) printf("%c",*strp)
字元指標變數必須先賦值後使用,否則對系統構成危險。因此,不可以如下程式設計:
char *ps; scanf(“%s”, ps); ╳
而應寫成:char *ps,s[10]; ps=s; scanf(“%s”, ps); √
字元陣列由若干個元素構成,每個元素中放一個字元。而字元指標變數中存放的是地址(字串首地址),絕不是將字串放到字元指標變數中;
用指標變數指向一個格式字串,可以用它替代printf函式的格式字串;
若把字元指標所指物件當作陣列使用,應注意物件的長度;
字元指標變數與字元陣列的使用區別
char str[10];
strcpy(str,”china”); /正確

/
str = ”china”; /錯誤/
char *ptr;
ptr = ”china”;
字元指標是變數,字元陣列名是常量
char *pstr = ”china”;
等價於
char *pstr;
pstr = ”china”;
char str[6] = ”china”;
不等價於
char str[6];
str[] = ”china”;