[過去ログ] Visual Studio 2017 Part5 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
150(1): デフォルトの名無しさん (ワッチョイ f3b3-opPu) [sage] 2018/03/18(日) 01:58:19.94 ID:vTP8CpkY0(1/4) AAS
>>142142(2): デフォルトの名無しさん (ワッチョイ f3b3-opPu) [sage] 2018/03/17(土) 23:29:12.43 ID:KpeS82sv0(1) AAS
>>118
#include <stdio.h>
#include <string.h>
int main()
{
char *a = "foo";
char *b = "bar";
if (strcmp(a, b) != 0) {
printf("%d", strcmp(a, b)); /* -> 1 */
}
return 0;
}
で、*(a + 1) = 'x';した後のaが"fxo"にならないのは何故?
155(1): デフォルトの名無しさん (ワッチョイ f3b3-opPu) [sage] 2018/03/18(日) 04:43:06.65 ID:vTP8CpkY0(4/4) AAS
>>144char *a = "foo"; って書くと、>>150>>151>>154のように、aに書き換え不可領域の"foo"のアドレスが代入されます
char a[] = "foo"; って書くと、書き換え不可領域の"foo"のサイズ(4バイト)を計算、書き換え可能領域にメモリを確保、"foo"をコピー、そのアドレスがaに代入されます
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.045s