重複の可能性:
配列名は C のポインターですか?
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char *b=(char*)malloc(sizeof(char)*50);
b=(char*)"hello world";
// works
char a[50];
a=(char*)"hello world";
//doesn't work. why? I thought array names are just pointers that point
//to the first element of the array (which is char). so isn't a char*?
return 0;
}
機能しない理由は、実際に char* 値を格納する「a」という変数がないためだと思います。「a」は右辺値と見なされるべきですか?コンセプトを正しく理解しているかどうかわからない