Ksh*_*ano 0 c arrays string pointers initialization
#include<stdio.h>
int main()
{
//int *a={5641,5,98};
char *s="this is a character array";
printf("%s",s);
}
Run Code Online (Sandbox Code Playgroud)
这种初始化数组的方法适用于字符数组,但对于整数数组失败请告诉我为什么..?
对于您的程序中的初学者来说,s它不是一个数组。它是一个指针。
char *s="this is a character array";
Run Code Online (Sandbox Code Playgroud)
因此,指针s由"this is a character array"确实具有字符数组类型的字符串文字的第一个字符的地址初始化。
在 C 中,您可以使用复合文字来初始化指向数组第一个元素的指针。
例如
#include <stdio.h>
int main(void)
{
enum { N = 5 };
int *p = ( int[N] ) { 1, 2, 3, 4, 5 };
for ( size_t i = 0; i < N; i++ ) printf( "%d ", p[i] );
putchar( '\n' );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |