c语言中字符指针与字符数组的区别
2016-07-09 17:05
246 查看
char *str = "This is a string.";
是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。
这里要注意字符指针与字符数组之间的区别。例如,有说明语句:
char string[ ]="This is a string.";
此时,string是字符数组,它存放了一个字符串。
字符指针str与字符数组string的区别是:str是一个变量,可以改变str使它指向不同的字符串,但不能改变str所指的字符串常量。string是一个数组,可以改变数组中保存的内容。
如果有:
char *str, *str1="This is another string.";
char string[100]="This is a string."; char *str = "This is a string.";
是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。
这里要注意字符指针与字符数组之间的区别。例如,有说明语句:
char string[ ]="This is a string.";
此时,string是字符数组,它存放了一个字符串。
字符指针str与字符数组string的区别是:str是一个变量,可以改变str使它指向不同的字符串,但不能改变str所指的字符串常量。string是一个数组,可以改变数组中保存的内容。
如果有:
char *str, *str1="This is another string.";
char string[100]="This is a string.";
则在在程序中,可以使用如下语句:
str++; /* 指针str加1 */
str = "This is a NEW string."; /* 使指针指向新的字符串常量 */
str = str1; /* 改变指针str的指向 */
strcpy( string, "This is a NEW string.") /* 改变字符串的的内容 */
strcat( string, str) /* 进行串连接操作 */
在程序中,不能进行如下操作:
string++; /* 不能对数组名进行++运算 */
string = "This is a NEW string."; /* 错误的串操作 */
string = str1; /* 对数组名不能进行赋值 */
strcat(str, "This is a NEW string.") /* 不能在str的后面进行串连接 */
strcpy(str, string) /* 不能向str进行串复制 */
字符指针与字符数组的区别在使用中要特别注意。
则在在程序中,可以使用如下语句:
str++; /* 指针str加1 */
str = "This is a NEW string."; /* 使指针指向新的字符串常量 */
str = str1; /* 改变指针str的指向 */
strcpy( string, "This is a NEW string.") /* 改变字符串的的内容 */
strcat( string, str) /* 进行串连接操作 */
在程序中,不能进行如下操作:
string++; /* 不能对数组名进行++运算 */
string = "This is a NEW string."; /* 错误的串操作 */
string = str1; /* 对数组名不能进行赋值 */
strcat(str, "This is a NEW string.") /* 不能在str的后面进行串连接 */
strcpy(str, string) /* 不能向str进行串复制 */
字符指针与字符数组的区别在使用中要特别注意。
是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。
这里要注意字符指针与字符数组之间的区别。例如,有说明语句:
char string[ ]="This is a string.";
此时,string是字符数组,它存放了一个字符串。
字符指针str与字符数组string的区别是:str是一个变量,可以改变str使它指向不同的字符串,但不能改变str所指的字符串常量。string是一个数组,可以改变数组中保存的内容。
如果有:
char *str, *str1="This is another string.";
char string[100]="This is a string."; char *str = "This is a string.";
是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。
这里要注意字符指针与字符数组之间的区别。例如,有说明语句:
char string[ ]="This is a string.";
此时,string是字符数组,它存放了一个字符串。
字符指针str与字符数组string的区别是:str是一个变量,可以改变str使它指向不同的字符串,但不能改变str所指的字符串常量。string是一个数组,可以改变数组中保存的内容。
如果有:
char *str, *str1="This is another string.";
char string[100]="This is a string.";
则在在程序中,可以使用如下语句:
str++; /* 指针str加1 */
str = "This is a NEW string."; /* 使指针指向新的字符串常量 */
str = str1; /* 改变指针str的指向 */
strcpy( string, "This is a NEW string.") /* 改变字符串的的内容 */
strcat( string, str) /* 进行串连接操作 */
在程序中,不能进行如下操作:
string++; /* 不能对数组名进行++运算 */
string = "This is a NEW string."; /* 错误的串操作 */
string = str1; /* 对数组名不能进行赋值 */
strcat(str, "This is a NEW string.") /* 不能在str的后面进行串连接 */
strcpy(str, string) /* 不能向str进行串复制 */
字符指针与字符数组的区别在使用中要特别注意。
则在在程序中,可以使用如下语句:
str++; /* 指针str加1 */
str = "This is a NEW string."; /* 使指针指向新的字符串常量 */
str = str1; /* 改变指针str的指向 */
strcpy( string, "This is a NEW string.") /* 改变字符串的的内容 */
strcat( string, str) /* 进行串连接操作 */
在程序中,不能进行如下操作:
string++; /* 不能对数组名进行++运算 */
string = "This is a NEW string."; /* 错误的串操作 */
string = str1; /* 对数组名不能进行赋值 */
strcat(str, "This is a NEW string.") /* 不能在str的后面进行串连接 */
strcpy(str, string) /* 不能向str进行串复制 */
字符指针与字符数组的区别在使用中要特别注意。
相关文章推荐
- c++ stl 学习
- 全排列 和 C++ string类 NYOJ 19
- POJ - 2230 Watchcow
- C以及C++语言中static作用
- C++中引用的本质
- c++中char *与string之间的相互转换及原理
- 1.C++ STL基本容器的使用(转载)
- C++的运算符重载 (转)
- C语言文件操作详解
- 【Effective C++读书笔记】篇六(条款13~条款15)
- 详解C语言可变参数va_list和vsnprintf及printf实现
- C++ 字符char相关操作
- STL--C++中 destory() 和deallocate()以及delete函数的相关性和区别性,destorydeallocate
- C&C++学习笔记2
- Tyvj 1066 合并果子
- C语言中的可变参数函数 三个点“…”
- C++ primer plus笔记整理 04
- C语言 函数指针三(反向调用)
- C++的s输出
- 【训练题】二分图判定