1. 程式人生 > >關於cout輸出字串指標

關於cout輸出字串指標

char *p="abcd";

    在C語言裡,輸出一個字串的指標很方便,直接printf("%p/n",p);就輸出了。

而C++裡cout太自作聰明瞭,為了省去我們迴圈輸出字元的麻煩,cout<<p<<endl;被翻譯為輸出p指向的字串值。

  這個時候要輸出p的指標值就只能先將其轉為void *再輸出。因為void型, cout沒法輸出,只能乖乖輸出指標。此外cout<<&p<<endl;是不可取的,它其實等效於printf("%p/n",&p);

void main()
{
    char *p2="abcd";
      cout<<*p2<<endl;
    cout<<p2<<endl;
 printf("%p/n",&p2);
 cout<<&p2<<endl;
 void *p=p2;
 cout<<p<<endl;
}

a
abcd
0013FF7C
0013FF7C
0046F020
Press any key to continue

隨便測試一下就可以看出,0046F020才是p的值,0013FF7C實際為&p.

相關推薦

關於cout輸出字串指標

char *p="abcd";     在C語言裡,輸出一個字串的指標很方便,直接printf("%p/n",p);就輸出了。 而C++裡cout太自作聰明瞭,為了省去我們迴圈輸出字元的麻煩,cout<<p<<endl;被翻譯為輸出p指向的字串值。  

淺學指標----cout輸出程式碼筆記

在電腦科學中,指標(Pointer)是程式語言中的一個物件,利用地址,它的值直接指向(points to)存在電腦儲存器中另一個地方的值。由於通過地址能找到所需的變數單元,可以說,地址指向該變數單元。因此,將地址形象化的稱為“指標”。意思是通過它能找到以它為地址的記憶體單元。 【概念來源百度百科】

字元指標輸出值的時候不用間接訪問運算子就能輸出字串的原因(整理)

遇到過這種問題: int main(){ char *a="abcdefgh"; printf("%s\n",a); return 0; }      為什麼這樣就能輸出字串了呢?,而不需要用間接訪問符,也不是像輸出非字串陣列那樣迴圈輸出呢? 原因: %s格

C++中cout輸出字符型指針地址值的方法

ostream stream .net space http sys details 技術分享 -1 轉載:http://blog.csdn.net/u013467442/article/details/43666955 #include<iostream>

入門cout輸出的格式(補位和小數精度)

http sdn art bsp family mar tail log details http://blog.csdn.net/gentle_guan/article/details/52071415 mark一下,媽媽再也不用擔心我高精度不會補位了入門cout輸出

關於c++能否使用cout輸出string類型

coutc++在包含頭文件<string>時候可以使用cout輸出#include<string>int main(){ string s="中國"; cout<<s<<endl; system("pause");}本文出自 “姑蘇城” 博客,

C語言——字串指標-strcpy

 #include<stdio.h> #include<stdlib.h> int main() { char str1[] = "Good";//初始化字元陣列 char str2[20] = "Job";//初始化字元陣列,分配空間,待str1

C語言——字串指標-strcmp

C語言中的strcmp是怎麼實現的? 其實我們可以用自己的辦法重新寫一個函式來實現strcmp的效果。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h>

分成BL1BL2後為什麼printf不能輸出變數的結果,可以輸出字串

在學習嵌入式程式時,編寫一個倒計數自啟動命令的過程中,使用了wdt定時器中斷isr_wdt,由於原來編寫的程式bin大於16KB,故分成了BL1和BL2兩部分程式碼,IRQ_handle:部分的程式碼放在了BL2的start.S的尾部。程式碼如下: #define WTCON &nbs

C++ 用cout輸出小數點後位數的方法

現在有一個數據,例如為3.1415926,我們想要用cout輸出小數點後固定的位數 #include<iomanip> 首先引入標頭檔案,輸入輸出流 其次,在輸出時,加入這兩句 setiosflags(ios::fixed)<< setprecisi

記一次8086彙編除錯 關於編寫 7ch 中斷例程輸出字串亂碼

記一次8086彙編除錯 關於編寫 7ch 中斷例程輸出字串亂碼 輸出welcome to asm data segment DB 'welcome to asm ','$' data ends code segment start: mov ah,2 ;置游標 mo

劍指offer——按字典順序輸出字串的排列

很多演算法題對於Python來說,感覺都可以用封裝解決。其實若按照c++一步一步來進行,有時候也失去了Python便利的意義。(反正我沒在答案裡找到。) 基本思路都是用先把可能的排列找出來,在sorted。 class Solution: def Permutation(self,ss

Python3倒序輸出字串的N種方法

方法1(reverse法): >>> ''.join(reversed('Wonderful night!')) '!thgin lufrednoW' 方法2(for迴圈逆序法): str1 = 'Wonderful night!' for i in rang

echo---列印變數或輸出字串

cho命令用於在shell中列印shell變數的值,或者直接輸出指定的字串。linux的echo命令,在shell程式設計中極為常用, 在終端下列印變數value的時候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。 語法 echo(選項)

組合語言——輸出字串

DATA SEGMENT BUF DB 'HOW DO YOU DO?$' DATA ENDS CODE SEGMENT mov ax,DATA mov ds,ax mov dx,OFFSET BUF mov ah,09H int 21H mov

字元、字串、字元陣列、字串指標變數

字元和字串的區別 字元 如下,定義char,每一個字元一般情況下佔用8個位元組。 char c, ch; 字串 例如"helloworld"; 注意' '和" "的區別,後者為常量字串 在C++中,有兩種型別的字串表示形式: C-風格字

反序輸出字串

題目描述 輸入任意4個字元(如:abcd), 並按反序輸出(如:dcba) 輸入描述: 題目可能包含多組用例,每組用例佔一行,包含4個任意的字元。 輸出描述: 對於每組輸入,請輸出一行反序後的字串。 具體可見樣例。 示例1 輸入 Upin cvYj WJpw

C語言版 輸出字串全排列

問題:輸入一字串(要求不存在重複字元),打印出該字串中字元中字元的所有排列。  例如:輸入”abc”,輸出結果為abc, acb, bac, bca, cab和cba。 遇到這個問題,筆者搜了一下,網上有很多答案,但似乎沒有我想要的簡單一點的純C語言編寫的,所以自己動手寫了

PHP學習之輸出字串(echo,print,printf,print_r和var_dump)

1. echo echo 是PHP的一個關鍵字,它沒有返回值。在寫法上,它可以省略小括號。如下程式碼: 複製程式碼 程式碼如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一個關鍵字,它有返回值

亂序輸出字串-完全打亂順序

  面試題---亂序輸出字串、陣列 Array.prototype.shuffle = function() { var array = this; var m = array.length, t, i; while (m) { i = Math