1.字符串指针

char *变量名="字符串内容";

char ch='b';

char *p1=&ch;

char *str="C Language";//表示s指向字符串的首地址

str="ssssssss";//字符串存在常量区,可以修改s指向的内容

*(str+2)='X';//可以*(str+2)这样访问,但是不能修改。常量区保存的内容都是只读的

常见误区:

char *str2=NULL;

printf("%s",str2);//这样写是错误的,str2没有分配内存空间去存储变量

解决办法:

char *str2=NULL;

str2=malloc(100);

printf("%s",str2);

或者:

char ch3[100];

char *str2=ch3;

printf("%s",str2);

2.二维字符数组

char ch2[3][10]={"abc","def","kkk"};

3.char类型的指针数组和字符数组的区别

char *name[3]={"abc","def","kkk"};//一维指针数组,每个元素存储字符串首地址

#include <stdio.h>

int main(int argc, const char * argv[]) {
char *name[]={"abc","def","kkk"};
for(int i=;i<;i++){
printf("%s\n",*(name+i));//name[i]
} return ;
}

1)字符串指针char *ss="abc";指向可以改变ss="ssssss";

2)字符数组char s1[]="abc"; s1是一个常量,不能被赋值,s1="Helll";是错误的,

4.字符串排序

//
// main.c
// 字符串排序
//
// Created by fanyafang on 15/11/4.
// Copyright © 2015年 itcast. All rights reserved.
// #include <stdio.h>
#include <string.h> void sortString(char *arr[],int length){
char *temp="";
//选择排序
for(int i=;i<length;i++){
for(int j=i+;j<length;j++){
if(strcmp(arr[i], arr[j])>){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
} int main(int argc, const char * argv[]) {
char *arr[]={"China","America","Flash","Toop"}; for(int i=;i<;i++){
printf("%s\n",arr[i]);
}
printf("\n");
sortString(arr,); for(int i=;i<;i++){
printf("%s\n",arr[i]);
} return ;
}

C语言回顾-字符串指针的更多相关文章

  1. Swift3.0语言教程使用指针创建和初始化字符串

    Swift3.0语言教程使用指针创建和初始化字符串 Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性.C语言中为我们提供了指针,Swift也不例 ...

  2. C语言中字符数组和字符串指针分析

    这几天搞Unix上的C程序,里面用到了很多字符数组和字符串指针,我记得在学完C语言后相当一段时间里,对指针这个东西还是模模糊糊,后来工作也没怎么 用到过C,虽然网上这类的文章也有很多,还是决定自己在这 ...

  3. c语言字符串指针

    最近正在看c语言,在指针这块遇到了麻烦,特别是字符串指针这块,简单记录下. 字符串指针 void main() { char *p = "tasklist"; printf(&qu ...

  4. C语言复习-字符串与指针

    C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...

  5. go语言之字符串、指针、数组、切片、结构struct、面向对象

    一: 字符串 概述: Go 语言将字符串作为 种原生的基本数据类型,字 符串的初始化可以使用字符串字面量. (1)字符串是常量,可以通过类 数组 索引访问其字节单元,但是不能修改某个字节的值 (2)宇 ...

  6. C语言 字符串指针和字符串数组使用区别

    字符串指针和字符串数组使用区别 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 ...

  7. 黑马程序员_ C语言基础之指针(三)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 指针是C语言的精髓,但是很多初学者往往对于指针的概念并不深刻,以至于学完之后随着时间的推移 ...

  8. C语言中的指针数组

    C语言中的指针数组是什么,像 char *a[]={"ddd","dsidd","lll"}; 这里讲一下注意如果我们使用了a也就是首元素的 ...

  9. <2014 04 15> C++语言回顾精要(原创By Andrew)

    C++语言回顾精要 <Visual C++程序设计>张岳新,这本书是很多学校的本科生C++教学用书,今天重新拿来翻了一遍.跟很多国人写的技术书籍一样,写书并不是为了让初学者看懂入门,而是为 ...

随机推荐

  1. SQL查询到的数据放到DataSet中

    public DataTable GetTable(string Id) { StringBuilder strSql = new StringBuilder(); DataSet ds = new ...

  2. PHP基础知识之函数

    定义: <?phpclass foo-----定义类{    function do_foo()---类的方法    {        echo "Doing foo.";  ...

  3. 关于iis8.5中发布的网站无法连接数据库的解决方案。

    发布的网站在浏览时出现如下提示: “/”应用程序中的服务器错误. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL ...

  4. asp.net identity 2.2.0 在WebForm下的角色启用和基本使用(四)

    有网友问及权限的问题,其实我觉得没什么改进. 主目录下的web.config基本不用改.要说要改的也就只有数据库连接了. <authentication mode="None" ...

  5. fenye

    <div class="ptb20 navpages"> <span class=" ">共有<span class=" ...

  6. 自动化小应用系列----利用selenium启动多个独立的浏览器

    在我们测试的时候对于同一个系统,我们往往需要登陆多个不同的账号,由于cookie的原因,我们只能退出一个账号在登陆另外一颗账号,非常麻烦.我们可以使用selenium来启动浏览器,这样每个浏览器的属性 ...

  7. QDirModel

    #include "dialog.h" #include "ui_dialog.h" #include<QInputDialog> Dialog:: ...

  8. 延时调用的php代码

    比如我们想做一个类似于康盛uchome的定时触发任务,任务靠用户访问触发的,但是你触发任务是不能影响用户本身对页面的访问速度(也就是说不能任务执行十秒钟你就让用户等待十秒钟)刚好昨天把这个弄完了.拿出 ...

  9. LeetCode Coin Change

    原题链接在这里:https://leetcode.com/problems/coin-change/ 题目: You are given coins of different denomination ...

  10. SVN更新时,校验和不匹配

    svn检出时出现校验和不匹配. 解决方法: 1. 在另外地方检出,然后找到对应文件所在的.svn/entries文件,用新检出的entries文件覆盖原来发生错误的entries文件. 2. 如果是团 ...