[C语言]进阶|指针与字符串】的更多相关文章

------------------------------------------------------------------------------------ 回顾:[C语言]指针与字符串 指针的使用: /** * main.c by weiChen in 2015-5-4 */ #include <stdio.h> //定义函数体,使在main方法中能调用 void swap(int *pa, int *pb); void minmax(int c[], int len, int…
本文目录 字符串回顾 一.用指针遍历字符串的所有字符 二.用指针直接指向字符串 三.指针处理字符串的注意 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略 回到顶部 字符串回顾 一个字符串由一个或多个字符组成,因此我们可以用字符数组来存放字符串,不过在数组的尾部要加上一个空字符'\0'. char s[] = "mj"; 上面的代码定义了一个字符数组s来存储字符串&q…
// //  main.c //  Pointer_stringcat // //  Created by ma c on 15/8/2. //  Copyright (c) 2015年 bjsxt. All rights reserved. //  要求:使用指针连接字符串,并将连接后的字符串输出到屏幕上. #include <stdio.h> #include<string.h> void Pointer_stringcat(char *str1,const char *str…
可以用strlen函数,这里我们自己写一个. 注意:不能用scanf,scanf一遇到空格就认为输入结束.应该用gets(),遇到换行符或EOF结束.说明可以接受空格. #include<cstdio> int main() { ]; char *p; printf("please input a string(less than 20 character):\n"); //scanf("%s",s);不能读入空格 gets(s); p = s; whi…
目录 第七周:指针与字符串 7.1 指针初步 7.2 字符类型 7.3 字符串 7.3 课后练习 第七周:指针与字符串 7.1 指针初步 sizeof 是一个运算符,给出某个类型或变量在内存中所占据的字节数 sizeof(int) sizeof(i) 运算符 & scanf("%d",&i); 获得变量的地址,它的操作必须是变量 int i;printf("%p",&i); 地址的大小与int是否相同取决于编译器,地址和整数不一定是相同的,这…
1.一级指针处理字符串的常见方式 如果使用单个指针,不方便对字符串本身进行操作,只适合遍历. 使用两个指针, 两个指针和字符串大致有两个常见处理方式: (1)两个指针从字符串首部开始向后移动,同时处理字符串. (2)两个指针分别指向字符串首部和尾部,向中间靠拢. 2.两个指针放在字符串两端 示例: 去除字符串两端的空格. #include <ctype.h> #include <string.h> #include <stdio.h> void trimSpace(co…
字符串是以ASCII字符NUL结尾的字符序列. ASCII字符NUL表示为\0.字符串通常存储在数组或者从堆上分配的内存中.只是,并不是全部的字符数组都是字符串,字符数组可能没有NUL字符. 字符数组也用来表示布尔值等小的整数单元,以节省内存空间. C中有两种类型的字符串: 单字节字符串 由char数据类型组成的序列 宽字符串 由wchar_t数据类型组成的序列 wchar_t数据类型用来表示宽字符,要么是16位宽.要么是32位宽.这两种字符串都以NUL结尾.能够在string.h中找到单字节字…
首先我们应该了解指针可以分为: 野指针: 野指针不是NULL指针,是未初始化或未清零的指针,他指向的内存地址不是程序员想要的.人们一般不会错用NULL指针,因为用if语句很容易判断.但是“野指针”是很危险的,if语句对它不起作用.野指针的成因主要有两种: 一.指针变量没有被初始化.任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气.所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存. 二.指针p被free或者delete之后,没…
#include <stdio.h> int main() { /********************************************* * 内存: * 1.常量区 * 存放一些常量字符串,这些字符串可以缓存,当再次定义相同的字符串时, * 直接可以使用.这样的字符串是不允许修改的 * 2.堆 * 存放对象 * 3.栈 * 存放局部变量 * * 指针和字符串: * 定义字符串的2种方式 * 1> 利用数组 * char name[] = "abcd"…
前面学习了字符串是一种字符数组,又知道了指针变量和数组的关系,这里来看一下指针和字符串的关系. #include <stdio.h> int main(void){ char str = "hello"; char *ptr = "abcd";  // 这里定义ptr为 char类型的指针, ptr的地址会指向这个字符串的首个字符, . int i; for(i=0;i<4;i++){            // printf("%c&q…