char是什麼意思,C語言中char a 什麼意思,他和char ( )a 有什麼什麼區別?

時間 2021-05-05 20:22:26

1樓:

將(char*)後面的表示式強制型別轉換為 char* 型別

char* 是指向字元的指標型別

看看譚浩強的書吧。。

2樓:

(char *)

就是char型指標,指向字元或字串

如果加括號應該是在

做型別的強制轉換

有問題請追問

3樓:匿名使用者

(char *)是c++語言,表示將型別強制轉換為字元指標型別。

c++是在c語言的基礎上開發的一種通用程式語言,應用廣泛。c++支援多種程式設計正規化:物件導向程式設計、泛型程式設計和過程化程式設計,且支援類:

類、封裝、過載等特性。其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一。

c++中,當運算元的型別不同,而且不屬於基本資料型別時,經常需要將運算元轉化為所需要的型別,這個過程即為強制型別轉換。強制型別轉換具有兩種形式:顯式強制轉換和隱式強制型別轉換。

4樓:孚貝樂

類似strtok分割的函式

原型是 char *strtok( char *strtoken, const char *strdelimit );

例子char buf=」golden global view」;

char *ch = "b";

char* token = strtok( buf, ch);

5樓:匿名使用者

指向char型別的指標

"char*"是什麼意思?

6樓:icecream榮榮榮

強制轉換

1、詳細解釋:在程式中,(char*) 表示強制轉換。

可以通過取地址,然後再把訪問方式強制轉化為char * 的形式,這樣就可以通過char *的形式讀取裡面的資料。

2、另一種解釋:在 c語言中,char* 代表 字元指標型別,當其指向一個字串的第一個元素時,它就可以代表這個字串了。

3、示例

#include

int main()

/*執行結果是

learn c*/

c語言中char *a[ ]什麼意思,他和char (*)a[ ]有什麼什麼區別?

7樓:匿名使用者

char *a表示的是陣列a是一個指向char的指標型別陣列,相當於a裡面的每一個元素都實際值都是一個指向字串的指標(即儲存某個字串的首地址)

後面這個你應該要問的是char (*a)吧,不然的話就和第一個一樣了

char (*a) [n]表示的是指向一個元素為n的字串陣列的指標,說白了就是一個陣列指標(指向陣列的指標)。這個和函式指標有點像 int (*p) (int,int),表示指向返回值為int,並且含有2個int變數的函式

8樓:凌亂心扉

兩者區別如下:

一、」讀「」寫「能力

char*a="abcd";此時"abcd"存放在常量區。通過指標只可以訪問字串常量,而不可以改變它。

而char a[30]="abcd";此時"abcd"存放在棧。可以通過指標去訪問和修改陣列內容。

二、賦值時刻

char*a="abcd";是在編譯時就確定了(因為為常量)。

char a[30]="abcd";是在執行時確定

三、指向地址所儲存的值不同。

對於char**p1,*p1的型別為char*型,而**p1的型別才是char型。

對於char*類指標p2,*p2就是char型。

char*a="abcd";存於靜態儲存區。在棧上的陣列比指標所指向字串快。慢

char a[30]="abcd";存於棧上。快。

四、記憶體分配方式

記憶體分配有三種:堆區和棧區、靜態儲存區。功能不同;使用方式也不同。

1、棧:就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數、函式引數等。

2、堆:就是那些由new或malloc分配的記憶體塊,在不適用時,要手動用delete或free來釋放記憶體區域。

3、靜態儲存區:記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個執行期間都存在。它主要存放靜態資料、全域性資料和常量。

但是,良好的程式設計習慣是:如果某動態記憶體不再使用,需要將其釋放掉,並立即將指標置位null,防止產生野指標。

9樓:匿名使用者

char *a是錯誤的,只能定義char *a[任意整數];

或者char *a[4或者其他整數或者不填]=「abc」;

或者char *a[3或者其他整數或者不填]=;

或者char *a[2或者其他整數或者不填]=;

或者char k,j,l,*a[3]=;

char (*)a也是錯誤的,只能定義為(char *)a[任意整數];

首先說下第一個,以char *a[4];為例, 這語句是定義一個指標型陣列,他的元素都是指標。指標是可以直接來指向一個字串的,用法是char *p="good。指標型陣列中每個元素都是指標,則每個元素都可以去定義一個字串或者是定義一個變數;所以如果有一個a[4][4]=; 現在就可以用char *p[4]=; 這樣的好處是節約了空間,一個陣列被定義下來後,記憶體就被分配了,如果這個陣列在後面的語句中不再使用了,那它就佔著空間,使得原始檔很大,如果使用指標陣列,就很容易解決這個問題了,因為只要讓指標陣列在指向其他的字串或者其他的一些變數 ,這樣原來的空間就被釋放了

(char *)a[4]的意思是將指標型陣列a中的元素a[4]強行轉化為char型別

10樓:狂盜一枝梅

char *a一般用於函式中形參的宣告,特別只用於一維陣列;char(*)a不明白什麼意思,難不成是將a陣列強制轉換成字元型???只是猜測,不要多想呵。

11樓:楊武威

char *a[ ]相當於char** a,是指標的指標;

char (*)a[ ] 是char型別指標陣列;

(純屬個人理解,僅供參考)

12樓:小小的

含義是一樣的。其實陣列也是指標。都是宣告瞭a這個char*型別陣列。雖然有語法錯誤,但是意思是那樣的。

13樓:匿名使用者

char* a:a首先是個陣列,陣列中的每個元素是char*型別的,也就是每個元素是一個指向char型別的指標,至於char(*)a,圓括號一般是用作強制型別轉換的,這種寫法沒有見過,編譯器應該分析不出這個語法,會報錯

14樓:快來見本大人

char *a[ ] 表示一個陣列a,陣列裡的元素型別是char *

char (*)a[ ] 表示一個指標變數a,指向的變數型別是 char 的陣列

c語言中的"*(char *)&a;"這條**是什麼意思

15樓:guxuecan劍

char* 是宣告一bai

個字元型別的指標。

比如:duchat*  y;

就是宣告一個zhi指標y,這個指標指向

dao的地址上只能存

專放字元類屬型的值。

16樓:匿名使用者

a是一個型別

&a取a的地址

(char *)&a 將a地址所在位置視為字元型指標的地址*(char *)&a取a所在地址的第0個位元組的值作為版一個char返回(-128~127)

實際權上假設a是整數a是4個位元組(byte)那麼怎麼取到第0個位元組的值就是你說的這個式子

c語言中char * a=(char *)_a什麼意思?

17樓:刁煊胥歆然

定義一個儲存char型變數地址的指標q,並把變數a的地址儲存到q指標中

此時q中儲存的是&a(即a在記憶體中地址)

如果在程式中出現(並不是最開始的定義指標時)的*q則表示q指標中儲存的地址所指向的變數,

在你定義的這個中*q就等於a

18樓:宓靖善密

在c語言中,char*

q=a;定義一個指向字元型別的指標q,並將它初始化為a。

這裡a一般應該是一個地址,通過*q我們就可以訪問a處記憶體的值。

示例程式如下:

#include

int main(int argc, char* argv)編譯後的執行結果如下圖所示:

19樓:李瓊範

這裡是要注意一個引數的問題,引數分為:形參與實參形參就是形式引數,也就是函式定義中的引數

實參就是實際引數,也就是函式呼叫中的引數

如int a(int a, char * b){}上面的函式定義中,函式定義括號中的引數a與b就是形式引數,也就是形參而當你在呼叫這個函式時,這個引數就是實際引數如:

int d = 32;

char * s = "hello josin";

//注意下面的函式呼叫:

a(d, s);

此時函式a的引數中d與s就是實際引數。也就是實際傳遞給函式的引數。

20樓:匿名使用者

_a是形參,因為前面有const修飾所以在子函式中,_a是不能被修改的,

所以要處理_a中的資料就要將_a的值賦給子函式裡的變數,使用這個變數來對_a中的資料進行運算,其他指標之類不用再講了吧,這裡面有個指標做形參和普通變數做形參的區別,你要了解這個區別,這個就很容易懂了。

21樓:天雲一號

char *a = (char *)_a;  // 表示將變數_a進行強制型別轉換為char *型別

比如:char _a;

char *a = (char *)_a;  // 就是將char型別的變數_a轉換為char *型別,並賦值給*a

22樓:檢言尉遲月明

從這個式子可以判斷a

也為指向字元型的指標,所以式子的意思是

定義一個指向字元型的指標q,並把它初始化為a,即此時q,a指向相同的字元變數

23樓:認不倒你

const void* _a // _a是一個const void *型別的變數

c語言中,char*pc=(char *)&a 是什麼意思?

24樓:匿名使用者

char佔一個位元組,pc指向a中第一個位元組的地址

char 是什麼意思?

25樓:匿名使用者

在程式設計中char是申來明一個

字元型源變數的語句。比如

char str;

這樣申明後,str就表示是一個長度為一個位元組的字元變數。在c語言中一般表示是一個字元,但在c51中,也可以表示一個資料,大小在-128~127範圍之內。

unsigned char str;

這是無符號字元型變數申明,一般在c語言中不會用到,但在c51中會頻繁使用,大小為0~255.

26樓:匿名使用者

(char*)a的意思是:來將a強制型別自轉換為字元指標型別。

char*是c語言中,用於定義指標的變數符號。比如:char *p; 這個變數p是個指標變數;就是說,p這個變數裡能儲存一個char型別的變數的首地址。

字元指標是指向型別為unsigned char的指標變數。

例如:unsigned char ch = 'a';

unsigned char *ch_p = &ch;

那麼指標變數ch_p就是字元指標。

27樓:匿名使用者

char

英[tʃɑ:(r)] 美bai[tʃɑr]vt.燒焦; 把…燒成炭du,zhi把…燒焦;

vi. 燒成炭,燒焦; 《主英dao>做雜役女傭;

n. 碳; (尤指家庭的)內

雜務容; 《魚》嘉魚; 茶(英式英語舊時用法);

[例句]toast hazelnuts on a baking sheet until the skins char

在烘板上將榛子烤至表皮微煳。

C語言裡char是什麼意思,C語言中char 是什麼意思? 和char 有什麼區別呀

字元使用一個位元組來表示的範圍是 0 256每一個字元對應於ascii表中的一個數 也就是 1 127 比如 空格 是 對應的 20 那麼 在程式了 int a 可以理解為是先把 char型別強制型別轉換為int再賦值 百小度 char 型別可以與int型別變換的!所以也可以說是整數型別吧! 賈遠稱...

在C語言中是什麼意思,C語言中 c 是什麼意思?

勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...

C語言中 是什麼意思,C語言中 和 是什麼意思

藝蝸楓 c語言中 是複合賦值運算子。複合賦值運算子就是在簡單賦值符 之前加上其它運算子構成,例如 即 a 1 等價於a a 1。的意思就是把左邊的第一個符號移到右邊,其實就是b b c的意思。直接把b c的b 移到右邊,將b的值取出再取出c的值,相加然後賦給b,儲存在b開闢的記憶體空間中,類似的還有...