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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 后街男孩 中级黑马   /  2015-7-19 13:03  /  528 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.字符串的输出
用%s输出一个字符串,从给定的地址开始,一直输出字符,直到遇到\0就停止了
例:Char str[]=”itcast”;
Printf(“%s”,str);
字符串的输入
从键盘上接受一个字符串,保存在以str为首地址的字符数组中。
例: Char str[10];
     Scanf(“%s”,str);
注意:
1)以%s格式进行输入的时候,如果输入的字符串有空格,则空格之后的字符无法被接受保存(即不保存空格之后的字符串)。
2)输入的字符串的长度要小于数组的长度

2.字符串结束符
字符串的额长度包括字符串加上结束符。
Char str[]=”abc”;
Str的字符长度为4

字符串长度的计算
1)使用字符串函数
   Strlen(str);
2)以‘\0’作为条件,进行判断,遇到\0就结束


字符数组与普通数组的区别
1.数据类型指的是数组所包含的元素的类型,而不是数组名的类型,数组名永远是一个指针,指向一个元素的地址,即数组首地址。
2.字符数组的元素类型为char 整型数组的元素类型为int
3.字符数组有%s支持整体输入输出 而整型数组不能整体输出
4.字符数组初始化 str[]=”sdf”; 可以省略花括号

字符串函数的使用
使用puts和gets必须包含头文件 stdio.h
  1. Puts()  输出一个字符串
  2. Gets()  输入一个字符串  

例 :Char str[]=”abc”;
     Puts(str); 输出字符串且自动换行

注意:
1)使用gets()可以输入空格  scanf空格之后的不被保存。
2)Gets();是不安全的因为它不能检测越界问题。
  

使用strcat()需要引用string.h的头文件
  3. strcat() 连接一个字符串
Strcat(a,b)---->将b的字符串放在astr字符串的后边即将a的\0覆盖
  4.strcpy   字符串的拷贝函数
Strcpy(a,b);----->将b字符串拷贝到a字符串 即b字符串会覆盖a字符串
  5.strcmp   字符串的比较函数
Strcmp(a,b);---->比较两个字符串的大小即依次比较字符的ascii码值  abc >aac
              当a>b返回值大于零
              当a<b返回值小于零
              当a=b返回值等于零
  6.strlen    字符串的长度计算函数
Strlen(a);--->不包含’\0’

指针:内存的地址。
变量的存取方式:直接存取和间接存取
1)直接存取:变量的赋值和存取(通过变量名存取值)
2)间接存取:通过地址获取存储单元的值。

指针变量
在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。
定义:类型说明符 *变量名;
      类型说明符表示本指针变量所指向的变量的内容的类型。
      *表示本变量是指针变量
注意:
1)定义的时候必须有*、
2)指针存放的地址内容的类型必须是与指针同类型的
3)指针也分全局变量和局部变量

指针变量初始化
1)定义的同时进行初始化
      1)完全初始化
      Int a=4;
      Int *p=&a; --->此时p指向了a
      2)部分初始化
      Int *p1=&a , *p2;定义了两个指针变量 p1被初始化指向a

2)先定义后初始化
      Int *p4;
      P4=&a;
3)如果定义了一个指针变量,但是我们不知道让这个指针指向谁
      Int *p3=null;  ---->赋null表示什么也不指

用*来获取指针变量指向的存储单元的内容
Int value=*p;即value=4;
“*”的两种用法
1)用于定义一个指针变量
2)存取指针变量所指向地址的内容

注意:如果一个指针变量定义以后,如果不进行初始化这个指针变量存放的是一个垃圾数,这个指针变量,称之为野指针。一定要避免操作野指针,因为有可能导致系统崩溃。

例:int a=10;   ---->定义整型变量a 初始化为100
Int *p=&a; ------>定义指针变量p 并将变量a 的地址初始化给指针变量p  即P指向a
*p=100;   ------>对指针变量所对应内存空间的内容赋值为100
Int b=*p;  ------>将指针变量所对应存储单元的内容赋值给b


指针的应用场景:
1)在被调函数中可以修改主调函数中的变量的值
2)让函数可以有多个返回值

二级指针:如果一个指针变量存放的又是一个指针变量的地址,则称这个指针变量为指向指针的指针变量。也称为“二级指针”。
            

0 个回复

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