最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言怎樣用指針指向字符串

 更新時(shí)間:2023年10月12日 17:06:09   作者:耳朵用來(lái)聽(tīng)自己的心靈  
這篇文章主要介紹了C語(yǔ)言怎樣用指針指向字符串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

字符串的定義和使用

part 1 指針定義字符串

指針定義字符串,輸出它的地址:

#include<stdio.h>
int main()
{
char *s1="Hello World";
char *s2="Hello World";
printf("0x%p\n",s1);
printf("0x%p\n",s2);
}

這時(shí),出現(xiàn)地址相同的情況,說(shuō)明這里的“Hello World”只是存儲(chǔ)在一個(gè)臨時(shí)的地方,兩個(gè)指針同時(shí)指向了這個(gè)“Hello World”,這時(shí)字符串不可寫(xiě)。

什么叫不可寫(xiě)?看下面。

part 2 數(shù)組定義字符串

#include<stdio.h>
int main()
{
char s3[]="Hello World";
char* s;
s=s3;
printf("s3:0x%p\n",s3);
printf("s:0x%p\n",s);
s3[0]='B';
printf("%c\n",s3[0]);
printf("%s\n",s3);
printf("%s\n",s);
printf("%d\n",sizeof(s3));
}

在這里插入圖片描述

用數(shù)組定義字符串,字符串可寫(xiě),這時(shí)s3[0]=‘B’,結(jié)果可以改變就叫做字符串可寫(xiě)。part1里的字符串不能改變,s3[0]='B’語(yǔ)句沒(méi)有作用。

這里用數(shù)組定義字符串后,再用指針指向這個(gè)字符串,和part1相比,地址復(fù)雜了許多,說(shuō)明這個(gè)地址不是臨時(shí)地址了。

計(jì)算字符串長(zhǎng)度12,Hello World+\0,\0也占有字符串的一位,但是不會(huì)顯示出來(lái)。

part 3 指針指向字符串

下面給出指針指向字符串的兩種方式:

\0才代表一個(gè)字符串的結(jié)束,\0才代表一個(gè)字符串的結(jié)束,\0才代表一個(gè)字符串的結(jié)束。它是數(shù)組的一部分。

#include<stdio.h>
int main()
{
char b[]={'t','i','t','t','l','e','\0'};
char* a;
a=b;
printf("%s\n",a);
}
//或
#include<stdio.h>
int main()
{
char b[]="tittle";//這和上面char b[]={'t','i','t','t','l','e','\0'};是相等的。
char* a;
a=b;
printf("%s\n",a);
}

當(dāng)你不需要對(duì)字符串改變時(shí),臨時(shí)用指針定義也可以的:

#include<stdio.h>
int main()
{
char *b="tittle";
char *a;
a=b;
printf("%s\n",a);
}

下面上一個(gè)帶有思考性的問(wèn)題,下面的指針事實(shí)上是直接指向一個(gè)數(shù)組元素‘s’的,數(shù)組最后沒(méi)有‘\0’。

當(dāng)你硬要以字符串形式輸出時(shí):

#include<stdio.h>
int main()
{
char  n[1]={'s'}; 
char* a;
a=n;
printf("%c\n",a[0])
printf("%s\n",a);
} 

結(jié)果出錯(cuò)。

修正:

#include<stdio.h>
int main()
{
char  n[]={'s','\0'}; 
char* a;
a=n;
printf("%c\n",a[0])
printf("%s\n",a);
} 

這個(gè)結(jié)果正確,指針指向了數(shù)組中的字符串。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • c語(yǔ)言 樹(shù)的基礎(chǔ)知識(shí)(必看篇)

    c語(yǔ)言 樹(shù)的基礎(chǔ)知識(shí)(必看篇)

    下面小編就為大家?guī)?lái)一篇c語(yǔ)言 樹(shù)的基礎(chǔ)知識(shí)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Qt中JSON使用的詳細(xì)步驟

    Qt中JSON使用的詳細(xì)步驟

    本文主要介紹了Qt中JSON使用的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • C++中字符串全排列算法及next_permutation原理詳解

    C++中字符串全排列算法及next_permutation原理詳解

    這篇文章主要為大家詳細(xì)介紹了C++中字符串全排列(遞歸法)和(迭代法)以及next_permutation底層原理,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-02-02
  • 用C語(yǔ)言完整實(shí)現(xiàn)2048游戲

    用C語(yǔ)言完整實(shí)現(xiàn)2048游戲

    2048是一款數(shù)字益智游戲,初始數(shù)字則是由2+2組成的基數(shù)4。在操作方面的不同則表現(xiàn)為一步一格的移動(dòng),變成更為爽快的一次到底。相同數(shù)字的方?jīng)r在靠攏、相撞時(shí)會(huì)相加。系統(tǒng)給予的數(shù)字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出2048這個(gè)數(shù)字方塊
    2021-11-11
  • C語(yǔ)言詳解如何實(shí)現(xiàn)堆及堆的結(jié)構(gòu)與接口

    C語(yǔ)言詳解如何實(shí)現(xiàn)堆及堆的結(jié)構(gòu)與接口

    堆是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,通常是一個(gè)可以被看做一棵完全二叉樹(shù)的數(shù)組對(duì)象。而堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。本文將詳細(xì)介紹堆的結(jié)構(gòu)與接口,需要的可以參考一下
    2022-04-04
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單掃雷小程序

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單掃雷小程序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單掃雷小程序,一款大眾類的益智小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C語(yǔ)言數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    C語(yǔ)言數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    本篇文章是C語(yǔ)言編程篇,主要為大家介紹C語(yǔ)言編程中數(shù)據(jù)在內(nèi)存中存儲(chǔ)解析,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • C語(yǔ)言棧的表示與實(shí)現(xiàn)實(shí)例詳解

    C語(yǔ)言棧的表示與實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要介紹了C語(yǔ)言棧的表示與實(shí)現(xiàn),對(duì)于數(shù)據(jù)結(jié)構(gòu)與算法的研究有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-07-07
  • C++實(shí)現(xiàn)希爾排序(ShellSort)

    C++實(shí)現(xiàn)希爾排序(ShellSort)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)希爾排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C++實(shí)現(xiàn)LeetCode(95.獨(dú)一無(wú)二的二叉搜索樹(shù)之二)

    C++實(shí)現(xiàn)LeetCode(95.獨(dú)一無(wú)二的二叉搜索樹(shù)之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(95.獨(dú)一無(wú)二的二叉搜索樹(shù)之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

宁远县| 斗六市| 天峻县| 桦甸市| 绥中县| 革吉县| 高要市| 宝清县| 两当县| 颍上县| 宝丰县| 马边| 德州市| 乌拉特中旗| 古浪县| 长兴县| 怀柔区| 巩留县| 延津县| 同德县| 教育| 洞头县| 成武县| 色达县| 海阳市| 威宁| 鹤壁市| 沂水县| 紫云| 和林格尔县| 平定县| 鹤壁市| 略阳县| 海晏县| 来安县| 依兰县| 萍乡市| 延长县| 共和县| 炉霍县| 博湖县|