小编Sau*_*tha的帖子

char*str; STR = "HELLO"; 如果没有为字符串分配任何内存,它如何工作?

码:

    #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)

我有两个疑问:

  1. 如何在不为其分配任何内存的情况下存储字符串.str是一个字符指针,指向char变量的位置i.当我添加str = "Hello";不是我使用5那个位置4没有分配的字节?

  2. 因为,我的代码str = &i;不应该str&i具有相同的值时,我的printf呢?当我删除str = "Hello";声明str并且&i是相同的.而如果str&i是相同的话,我相信,当我说str = "Hello"这应该覆盖'a''H'其余'ello\0'进入后续字节.

    我相信整个问题都是 …

c c++ pointers memory-management char-pointer

3
推荐指数
1
解决办法
4418
查看次数

绑定WPF用户控件的问题

这是我本来想要的.一个UserControlTextBlock它的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; …

c# wpf xaml binding user-controls

3
推荐指数
1
解决办法
897
查看次数

标签 统计

binding ×1

c ×1

c# ×1

c++ ×1

char-pointer ×1

memory-management ×1

pointers ×1

user-controls ×1

wpf ×1

xaml ×1