关于字符串类型与字符数组(指针)
2018-04-01 22:07
423 查看
又在字符串上栽了个跟头,上次也在链表指针上弄了个晕头转向:
忘记的话尝试就尝试一下上面的代码#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap2(char**a, char**b) {
char*temp;
temp = *a;
*a = *b;
*b = temp;
}
void permut(char**str, int start) {
if (start == 4) {
for (int i = 0; i < 4; i++) printf("%s\t", str[i]);
printf("\n");
}
for (int j = start; j < 4; j++) {
swap2(str+start, str+j);
permut(str, start + 1);
swap2(str + start, str + j);
}
}
int main() {
char*str[] = { "I'm","a","big","god"};
permut(str, 0);
return 0;
}以上是测试的字符串数组的全排列。
字符串(也泛指其它指针变量)可以用malloc和new来给一个赋值空间,但其还是按照一个指针变量来处理
void swap(char*a, char*b) { char temp[10]; //strcpy只会赋值有存储空间的字符串 strcpy(temp, a); strcpy(a,b); strcpy(b, temp); } void PrintStr(char str[][10],int n) { for (int i = 1; i <= n; i++) { if (i == n) printf("%s\n", str[i]); else printf("%s ", str[i]); } } void swap2(char**a, char**b) { char*temp; temp = *a; *a = *b; *b = temp; } //此时字符串可以完全当做一个变量来使用 int main() { char str[100][10] = { "dsfsd","come","sdfg" }; swap(str[0], str[1]); PrintStr(str, 3); char*a = "dfdf"; char*b = "aaad"; swap2(&a, &b);//此交换只是复制的另外一份 printf("%s %s", a, b); return 0; }总而言之,就是指针变量相当于一个新的变量,在函数中必须建一个指针变量指向这个指针变量才能改变这个变量的值
忘记的话尝试就尝试一下上面的代码#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap2(char**a, char**b) {
char*temp;
temp = *a;
*a = *b;
*b = temp;
}
void permut(char**str, int start) {
if (start == 4) {
for (int i = 0; i < 4; i++) printf("%s\t", str[i]);
printf("\n");
}
for (int j = start; j < 4; j++) {
swap2(str+start, str+j);
permut(str, start + 1);
swap2(str + start, str + j);
}
}
int main() {
char*str[] = { "I'm","a","big","god"};
permut(str, 0);
return 0;
}以上是测试的字符串数组的全排列。
字符串(也泛指其它指针变量)可以用malloc和new来给一个赋值空间,但其还是按照一个指针变量来处理
相关文章推荐
- 关于字符串 字符数组 字符型指针的问题
- c/c++ 字符数组、字符指针和字符串类型总结帖
- 关于字符数组和字符串指针的困惑
- 关于C语言字符数组、字符串和指针的相关问题
- 关于指针 用字符数组,字符指针变量输入字符串 动态为字符型指针变量分配内存
- 关于C中字符数组,字符指针以及C++中string类型的两两转换及排序
- c/c++ 字符数组、字符指针和字符串类型
- 指针数组和字符类型的二维数组在处理字符串时的区别
- 关于数组与指针的应用及区别-针对字符串去左边多余的‘0’字符
- 数组与字符串、字符指针与其他类型指针、赋值参数、指针参数以及引用参数、函数指针
- 关于字符数组、字符串、字符指针、字符指针数组
- 关于数组指针,指针数组,双重数组,二维矩阵,字符串数组,双重字符指针的理解
- 关于c语言中的字符数组和字符串指针
- 关于字符数组与字符串指针的区分
- c/c++ 字符数组、字符指针和字符串类型总结帖
- c语言中关于字符串的那些事儿(字符数组和字符指针)
- char * 与 char [] 区别,char *[] 与 char[][]区别。字符串指针的数组与二维char数组区别。字符串常量赋予指针与字符数组区别。"字符串"等价于其首元素"字"的地址
- 关于数组指针,字符串指针的一些小细节
- 关于字符串数组中存储不同类型的数值
- 【C】【笔记】《C和指针》 第六章 指针 第七章 函数 第八章 数组 第九章 字符串、字符和字节