码:
#include <stdio.h>
int main() {
char *str;
char i = 'a';
str = &i;
str = "Hello";
printf("%s, %c, %x, %x", str, i, str, &i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
Hello, a, 403064, 28ff0b
Run Code Online (Sandbox Code Playgroud)
我有两个疑问:
如何在不为其分配任何内存的情况下存储字符串.str是一个字符指针,指向char变量的位置i.当我添加str = "Hello";不是我使用5那个位置4没有分配的字节?
因为,我的代码str = &i;不应该str与&i具有相同的值时,我的printf呢?当我删除str = "Hello";声明str并且&i是相同的.而如果str和&i是相同的话,我相信,当我说str = "Hello"这应该覆盖'a'与'H'其余'ello\0'进入后续字节.
我相信整个问题都是 …
这是我本来想要的.一个UserControl与TextBlock它的Text属性绑定到Prop的属性UserControl.(这只是我实际问题的一种表现)
下面是我的一部分UserControl(ClientDetailsControl.xaml)
<TextBlock Text="{Binding Prop}" />
Run Code Online (Sandbox Code Playgroud)
接下来是 ClientDetailsControl.xaml.cs
public partial class ClientDetailsControl : UserControl
{
public static DependencyProperty PropProperty = DependencyProperty.Register("Prop", typeof(String), typeof(ClientDetailsControl));
public String Prop { get; set; }
public ClientDetailsControl()
{
InitializeComponent();
DataContext = this;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我主要的WPF窗口(NewOrder.xaml)我用这UserControl作为
<userControl:ClientDetailsControl Prop="{Binding MyProp}" />
Run Code Online (Sandbox Code Playgroud)
该MyProp财产在下面声明如下NewOrder.xaml.cs
public String MyProp { get { return "HELLO"; } }
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到以下错误:
BindingExpression路径错误:'object'''ClientDetailsControl'(Name ='')'上找不到'MyProp'属性.BindingExpression:路径= MyProp; …