charへのポインターを 文字列リテラル で初期化します。文字列リテラルは書き込み禁止の領域に配置されます。
c1.c
コード:
#include <stdio.h>
int main( void )
{
char *p;
const char *a = "Winter";
printf( "%s \n", p = a );
return 0;
}
c.bat
コード:
rem コンパイル後リンク
cl /TC c1.c
rem 実行結果
c1.exe
実行結果
コード:
F:\z18c\0630>c
F:\z18c\0630>rem コンパイル後リンク
F:\z18c\0630>cl /TC c1.c
Microsoft(R) C/C++ Optimizing Compiler Version 19.13.26128 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
c1.c
c1.c(7): warning C4090: '=': 異なる 'const' 修飾子です。
Microsoft (R) Incremental Linker Version 14.13.26128.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:c1.exe
c1.obj
F:\z18c\0630>rem 実行結果
F:\z18c\0630>c1.exe
Winter
F:\z18c\0630>