指針變量和指針 常量有什么區(qū)別?首先你要明白兩個(gè)概念:-1指針和指針-1/??盏闹羔樖钦?guī)的指針?常量 指針引用常量,不能修改指針?biāo)赶虻牡刂返膬?nèi)容,后者指針是常量,常量是不可修改的數(shù)量,c 中常量指向字符串指針和常量指向字符串指針有什么區(qū)別。
其實(shí)不需要死記硬背。1)分解句子:int * p;其中int*是類型,p是變量名。2)不管類型是int*還是int**還是int***,他最終的目的空間都是Int類型(這個(gè)需要多次尋址)3)const type。表示目的空間的值不能改變,const 變量名表示變量名所指的空間不能改變(指針)。比如constintk和intconstk是合法的,因?yàn)閗所指的空間和目的空間描述的是同一個(gè)地址。
比如consint * p;Const后面跟int,所以int不能變。int * constp后面跟著p,那么p就是const,不能指向別的地方。以上兩本書中文翻譯應(yīng)該是錯(cuò)的,建議買好一點(diǎn)的出版社出版的書。還有,如果你之前沒(méi)看過(guò)這個(gè),很可能是第一次接觸C 或者沒(méi)有C的基礎(chǔ),建議看C primerplus,不適合初學(xué)者。
C中的數(shù)組名為常量 指針,但在兩種情況下,數(shù)組名不是用常量 指針: 1表示的。當(dāng)數(shù)組名作為sizeof運(yùn)算符的操作數(shù)時(shí),例如:intarrconstvoid * * b;/ /指向void常量指針指針,(* b)is常量void * const * b;/指針 常量指向void 指針,(* b)is常量void * * constb;/ /引用void指針-0/常量,b為常量。不知道為什么不用void**b加const來(lái)表示一個(gè)二維的常量,或者可以定義void*const*b來(lái)表示一個(gè)地址指針。
3、c 里指向字符串 常量的 指針和指向字符串的 常量的 指針有什么區(qū)別啊指向字符串常量和常量指向字符串指針前者字符串為常量后者為指針是。/ /指向字符串常量p首先要明白兩個(gè)概念:常量 指針和指針 常量。常量 指針引用常量,不能修改指針?biāo)赶虻牡刂返膬?nèi)容。和指針常量is指針,不能修改地址指針,但指向的內(nèi)容可以修改。根據(jù)你的需要,如果函數(shù)返回的數(shù)組指針指向的內(nèi)容不允許修改,那么它的返回值定義為常量,用const修飾,用來(lái)接收函數(shù)返回值的指針也必須聲明為-1。
4、 常量 指針是不是不能給非 常量 指針賦值const的右邊是一個(gè)int,也就是說(shuō)int是a 常量,常量的語(yǔ)句不能修改。那么prr就是a 指針指向整數(shù)常量。假設(shè)intaprr