c 将数字数组转成字符串_C+|用指针指向字符串字面量、字符数组及字符指针数组...
指針可以指向一個字符串字面量,可以指向一個字符數組,可以指向一塊動態分配的內存單元:
char *s1, *s2, *s3 = “abcde”;
char ch[] = “fff”;
s1 = ch;
s2 = new char[10];
strcpy(s2, “fgh”);
用指針表示的字符串可以直接作為字符串操作函數的參數。但必須注意,如果該指針指向的是一個字符串常量時,則使用是受限的。如不能作為strcpy的第一個參數,不能用下標的方法去修改其中的元素,所以一般都冠以const,如const char *s3 = “abcde”;
由于在C++中,數組名被解釋成指向數組首地址的指針。因此,字符串是用一個指針變量表示,我們可以把此指針變量解釋成數組的首地址,通過下標訪問字符串中的字符。如string[3]的值是d同時,與上述直接指向一個常量不同,可以使用下標的形式來修改字符數組的元素。
字符串作為字符數組傳遞時不需要指定長度。因為字符串操作的結束是依據‘0,如一個記錄串中單詞的個數的函數:
#include Using namespace std;int word_cnt(const char *s){ int cnt = 0; while (*s != '0') { while (isspace(*s)) ++s; //跳過空白字符 if (*s != '0') { ++cnt; //找到一個單詞 while (!isspace(*s) && *s != '0') ++s; //跳過單詞 } } return cnt;}一個二級指針可以指向一個字符指針數組,如main()函數的參數就可以包含一個字符指針數組:
int main(int argc, char *argv[])如在命令行中執行包括有字符指針數組的程序,可以在其中跟隨n個定義的字符串:
#include int main(int argc, char *argv[]){ int i; cout << "argc=“ << argc << endl; for(i=0; i假設生成的執行文件myprogram.exe,
在命令行輸入:myprogram
輸出結果:
argc=1 argv[0]=myprogram在命令行輸入:myprogram try this
輸出結果:
argc=3 argv[0]=myprogramargv[1]=try argv[2]=this以下是一個二級指針,就是指針指向的指針才指向具體的非地址值:
#include using namespace std;int main(){ char *city[] = {"aaa總結
以上是生活随笔為你收集整理的c 将数字数组转成字符串_C+|用指针指向字符串字面量、字符数组及字符指针数组...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十代i7前端总线频率_Intel 10n
- 下一篇: adsl拨号无公网地址如何用ddns_【