A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yufanyufan77 中级黑马   /  2015-10-13 16:28  /  689 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、字符串指针:

定义:char *变量名 = "字符串内容";//字符串内是常量
作用:用来保存字符串
在c语言中有两种访问字符串的方式
1)用字符串数组
  
    char string[] = "nbheimanb";
  注意:存放在栈区,可读可写。

2)用字符串指针
  char *变量名 = "字符串内容";//字符串内容是常量
  char *str = "nbheimanb";
  注意:字符串指针字符串内容是常量,存储在常量区,只可读,不可写。
#include"stdio.h"
#include"string.h"
#include"malloc.h"

int main(void)
{
//"我在黑马"这个字符串存储在常量区
//str 只保存了字符串常量的首地址
char *str = "我在黑马,是真的";
printf("%s\n",str);
//求一个字符串指针指向字符串的长度,不能用sizeof关键字
printf("strlen(str) = %ld\n",strlen(str));
}

  2、二维字符串数组:
   char ch2[2][3] = {'q','a','d','h'}
  
    //用二维数组保存多个字符串
    //第一维保存每个字符串的首地址
    //每个字符串的长度不能超过二维的长度
    char str[3][5] = {{hgs},{fjgk},{mjgg}};
#include"stdio.h"
#include"string.h"

int main(void)
{
char str[3][5] = {"hgs","fjgk","mjgg"};
for(int i = 0; i<3; i++)
{
  puts(str[i]);
}
}

  3、char型的指针和字符数组的区别
#include"stdio.h"
#include"string.h"

int main(void)
{
//char 类型指针数组
char * name[3] = {"asdhfsd","adg","dadagh"};
for(int i=0; i<3; i++)
{
   puts(name[i]);
}
//字符串指针和字符串数组的区别
//字符串指针:
char *ss = "dsh";


//指向可以改变
//ss是一个指针变量
ss = "hello world!";
//字符数组:
char s1[] = "sakjhdlak";
//s1是一个数组名,是一个常量,不能被赋值
  //s1 = "helloworld";
return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马