當前位置:首頁 » 編程語言 » c語言字元地址是固定的嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言字元地址是固定的嗎

發布時間: 2022-07-03 13:13:02

1. ★★★c語言字元位置定位★★★

很簡單吧,呵呵。注意那個字元串裡面是有轉義字元 \ 哦
#include<stdio.h>
#include<stdlib.h>

void main()
{
char *string1 = "ABC\\123\\WEB\\@CN";
char *p = NULL;
int n = strlen(string1);
int i;
i = n;
if(p == NULL)
{
p = (char *)malloc(n*sizeof(char *));
}
printf("%s\n",string1);
for(p = string1;*p!='\0';p++)
;
p--;//使p指向最後一個位置。
for(i;i>0;i--)
{
if(*p == '\\')
break;
p--;
}
n = i;
printf("出現的最後一個位置是%d\n",n);
if(p != NULL)
{
p = NULL;
free(p);
}

}

2. c語言每部分內存都有一固定地址嗎不能改變

定義一個變數,系統的確會分配一個內存單元A來存儲這個變數。而A的固定地址已經是物理地址了。不需要在分配一個來存儲該地址。
該變數已經實際存在在內存物理地址上了。

3. 字元串地址的問題~(C語言小白,不懂很T T

一般情況下常數是用來計算或者給變數賦值的,在程序執行的過程中,常數就會被放在變數對應的地址內存中了。3是沒有地址的。
但是字元串有,因為字元串也叫字元數組,數組名就是字元串的首地址,常量字元串也依然有,只是被存放在靜態存儲區域。
還有什麼問題請繼續提問。

學編程 請網路一下 睿騰編程

4. 關於C語言字元變數的地址

因為你這個a是字元數組,a相對於指針,但是a不能賦新值,比如:
#include <stdio.h>
int main()
{
char a[100];
scanf("%c",a);
*a=65;//允許像指針一樣操作
*(a+1)=0;
//a++; 但不可以和指針那樣遞增賦新值
printf(a);
return 0;
}
綜上,a相對於指針,但不完全是指針,所以scanf中對於a是不必&求地址。
如果是:
char a;
scanf("%c",a);//則是錯誤的,因為這里的a是字元,則會把a的值當著scanf參數,而非a的地址。

5. c語言中相同字元串的地址不應該是相同的嗎

因為在你的代碼中,調用的是兩個不同的函數,它們都在被分配給自己的堆棧空間完成指定操作。至於內容相同地址就要相同,在c語言中是沒有這個說法的。

6. c語言中可以定義固定變數的地址嗎萬分感謝

不能,在一開始創建的時候計算機就會自動分配給它特定的地址,況且有些地址還是不能訪問的。

7. 請問c語言里常量有固定存儲地址嗎

int a,b;a=8;b=8;這首先是一個定義變數並給變數賦值,實際上並沒有涉及到常量,呵呵,但是它們有不同的地址,因為它們的變數名不同,地址是根據變數名分配地址的,那麼常量呢,它也是有地址的,只是和變數存貯的地方不同,但是存儲的形式是一樣的,就是在內存的地方不同,內存中有專門放常量的,通過存儲方法的角度是區分不了變數和常量的,只能通過其存儲的值是否變化來區分(以人的角度),和存放的地點不同區分(機器的角度)

8. c語言中,字元數組的首地址字元指針的地址也是第一個字元的地址嗎為什麼不一樣

字元串常量的地址是字元串保存在內存的一組地址。字元數組的首地址代表著該字元串第一個元素的地址。

字元指針是指向字元類型的指針。字元指針並沒有地址,當定義一個字元指針變數後,這個變數便有了自己的地址,字元指針變數同時保存著某個地址,這個地址也可以指向單個字元元素,也可以指向字元串。
如:
char a;
a=getchar();
char *p;//變數p本身有一個地址.
p=&a;//p保存了變數a的地址,也就是說p指向了a.
同樣地,
char a[20]="english";
char *p=a;//p保存了字元數組的首地址,也就是說p指向了該數組的第一個元素。
求賞分~

9. c語言字元串地址問題

應該是不可能的。想想就知道了
為什麼要用指針(或者說地址)呢,是因為我們有可能要改變該單元裡面的值
既然你叫「W」是常量,那你還想改變它裡面的值嗎?如果是,那它就叫變數了
至於你說「
『W』也應該是個指針」,應該也不然。
考慮下
char
string[]
=
"stirng";
if
(string
==
"not
string")
....//其實字元串可以這樣比較嗎?我也忘了
以上是用stirng數組的首地址與「not
stirng」,
我忘了C是不是可以這樣來比較串。你說
通過編譯,那我就假設是可以的。再想回(&a[5].dir=="W")情況,這是用(a[5].dir)的
地址與「W」比較,C會將(a[5].dir)所在單元後的內容與「W」比較。原理和(string
==
"not
string")一樣
呵呵,還有一點,我猜你可能想到了,就是比較char常量不是"W",
而是'W'.

10. c語言中可以定義固定變數的地址嗎

變數就有地址,但是常量不會有地址。
比如
const int * p=&a;
就定義了一個變數指針,指向const int型的變數a