欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于c語言中輸出字符指針的相關(guān)問題

 更新時間:2022年07月20日 14:09:11   作者:littesss  
這篇文章主要介紹了關(guān)于c語言中輸出字符指針的相關(guān)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

c語言輸出字符指針問題

例如定義一個 char * p = "hello";的字符指針

首先搞清楚在c語言中沒有字符串的類型,所以對字符串操作,有兩種形式:可以用字符指針(為什么不叫字符串指針,我個人覺得,字符指針針對的是單個字符的操作,即指針操作,所以就叫它字符指針吧。。。)

或者字符串數(shù)組(這里不在討論字符串相關(guān)問題,前面博客有討論過)這里的指針變量p,系統(tǒng)會為其重新分配內(nèi)存。

"talk is cheap , please show me your code"

說多無用,放碼過來

有人會問,p不是指針變量嗎?但是為什么printf("%s",p)他為什么打印的不是地址?

答:

是的p肯定是指針變量,它也一定是地址,但是別忘了在C語言中,系統(tǒng)都會默認在字符串末給我們加上\0用于結(jié)束字符串,所以用printf()輸出時候,只要你打印格式是%s,系統(tǒng)知道我們要輸出字符串,而且系統(tǒng)也可以確定字符串的長度,所以當你用%s打印字符指針p的時候就會輸出字符串,如果你是以地址打印格式輸出的話,系統(tǒng)就會給我們打印出地址, 如果你是解指針(*p),那么系統(tǒng)就取p指針指向的內(nèi)容,此時看你自己以什么格式輸出,就用什么格式打印。

注意:

在字符指針中p 、*p 和&p的區(qū)別:p是指針變量指向字符串首元素(前提對p指針沒有進行指針操作),p中存放首元素的地址(一旦被初始化就,系統(tǒng)就為我們分配好了地址,而且地址也不能改變,因為字符指針是一個只讀變量,你不能企圖對一個初始化好的指針進行內(nèi)部修改),而*p是對指針變量p進行解引用操作,也就是指針所指向的內(nèi)容,而&p是對指針變量取地址,所以也就肯定不會和p的值相等,因為字符指針系統(tǒng)會為其分配內(nèi)存,p的值是字符串首元素的地址。

c語言指針求字符串長度

int stren(char* str){
	char* start=str;
	char* end=str;
	while(*end!='\0'){
		end++;
	}
	return end-start;
}
#include<stdio.h>
int main(){
	char arr[]="bit";
	int len=stren(arr);
	printf("%d\n",len);
return 0;
}

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

相關(guān)文章

  • c++中的兩種getline用法詳解

    c++中的兩種getline用法詳解

    c++中有2種getline函數(shù),一種在頭文件 <istream> 中,是istream類的成員函數(shù);另一種是在頭文件 <string> 中,是普通函數(shù)。這篇文章主要介紹了c++中的兩種getline用法,需要的朋友可以參考下
    2020-02-02
  • C++如何獲取當前系統(tǒng)時間及格式化輸出

    C++如何獲取當前系統(tǒng)時間及格式化輸出

    這篇文章主要介紹了C++如何獲取當前系統(tǒng)時間及格式化輸出的實例代碼,主要用到time()及strftime()函數(shù),通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • C語言文件操作詳情(一)

    C語言文件操作詳情(一)

    這篇文章主要介紹了C語言文件操作詳情,主要討論的是數(shù)據(jù)文件,通過處理的磁盤上的文件展開主題內(nèi)容介紹,需要的小伙伴可以參考一下,希望對你的學(xué)習有所幫助
    2022-04-04
  • C++動態(tài)規(guī)劃算法實現(xiàn)矩陣鏈乘法

    C++動態(tài)規(guī)劃算法實現(xiàn)矩陣鏈乘法

    動態(tài)規(guī)劃算法通常用于求解具有某種最優(yōu)性質(zhì)的問題。在這類問題中,可能會有許多可行解。每一個解都對應(yīng)于一個值,我們希望找到具有最優(yōu)值的解
    2022-06-06
  • C語言實現(xiàn)簡單的圖書管理系統(tǒng)

    C語言實現(xiàn)簡單的圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單的圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 用C# 控制Windows系統(tǒng)音量的實現(xiàn)方法

    用C# 控制Windows系統(tǒng)音量的實現(xiàn)方法

    本篇文章是對使用C#控制Windows系統(tǒng)音量的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現(xiàn)簡單通訊錄功能

    C語言實現(xiàn)簡單通訊錄功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單通訊錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C?C++輸入輸出基礎(chǔ)教程示例詳解

    C?C++輸入輸出基礎(chǔ)教程示例詳解

    當我們在網(wǎng)站做題的時候經(jīng)常會遇到各種要求的輸入輸出,而且會有時間超限等多個問題,這時我們就要優(yōu)化我們的輸入輸出或者規(guī)范我們的輸入輸出格式,下面介紹C和C++中的輸入輸出問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-11-11
  • VS2017中配置QT5.12.0的圖文教程

    VS2017中配置QT5.12.0的圖文教程

    本文主要介紹了VS2017中配置QT5.12.0的圖文教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-06-06
  • C/C++利用棧和隊列實現(xiàn)停車場管理系統(tǒng)

    C/C++利用棧和隊列實現(xiàn)停車場管理系統(tǒng)

    數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計一般都不是很好理解,今天小編為大家總結(jié)了一下c和c++版本的常見棧和隊列的的停車場管理程序,需要的小伙伴可以參考一下
    2022-06-06

最新評論